mirror of
https://iceshrimp.dev/limepotato/jormungandr-bite.git
synced 2024-11-22 18:07:31 -07:00
Bye 'is-url'
This commit is contained in:
parent
133ce92db0
commit
25e0da961c
3 changed files with 9 additions and 13 deletions
|
@ -142,7 +142,6 @@
|
||||||
"insert-text-at-cursor": "0.1.1",
|
"insert-text-at-cursor": "0.1.1",
|
||||||
"is-root": "2.0.0",
|
"is-root": "2.0.0",
|
||||||
"is-svg": "3.0.0",
|
"is-svg": "3.0.0",
|
||||||
"is-url": "1.2.4",
|
|
||||||
"js-yaml": "3.12.1",
|
"js-yaml": "3.12.1",
|
||||||
"jsdom": "13.1.0",
|
"jsdom": "13.1.0",
|
||||||
"json5": "2.1.0",
|
"json5": "2.1.0",
|
||||||
|
|
7
src/@types/is-url.d.ts
vendored
7
src/@types/is-url.d.ts
vendored
|
@ -1,7 +0,0 @@
|
||||||
declare module 'is-url' {
|
|
||||||
function isUrl(string: string): boolean;
|
|
||||||
|
|
||||||
namespace isUrl {} // Hack
|
|
||||||
|
|
||||||
export = isUrl;
|
|
||||||
}
|
|
|
@ -6,7 +6,6 @@ import * as fs from 'fs';
|
||||||
import { URL } from 'url';
|
import { URL } from 'url';
|
||||||
import * as yaml from 'js-yaml';
|
import * as yaml from 'js-yaml';
|
||||||
import { Source, Mixin } from './types';
|
import { Source, Mixin } from './types';
|
||||||
import * as isUrl from 'is-url';
|
|
||||||
import * as pkg from '../../package.json';
|
import * as pkg from '../../package.json';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,10 +25,7 @@ export default function load() {
|
||||||
|
|
||||||
const mixin = {} as Mixin;
|
const mixin = {} as Mixin;
|
||||||
|
|
||||||
// Validate URLs
|
const url = validateUrl(config.url);
|
||||||
if (!isUrl(config.url)) throw `url="${config.url}" is not a valid URL`;
|
|
||||||
|
|
||||||
const url = new URL(config.url);
|
|
||||||
config.url = normalizeUrl(config.url);
|
config.url = normalizeUrl(config.url);
|
||||||
|
|
||||||
mixin.host = url.host;
|
mixin.host = url.host;
|
||||||
|
@ -51,6 +47,14 @@ export default function load() {
|
||||||
return Object.assign(config, mixin);
|
return Object.assign(config, mixin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function validateUrl(url: string) {
|
||||||
|
try {
|
||||||
|
return new URL(url);
|
||||||
|
} catch (e) {
|
||||||
|
throw `url="${url}" is not a valid URL`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function normalizeUrl(url: string) {
|
function normalizeUrl(url: string) {
|
||||||
return url.endsWith('/') ? url.substr(0, url.length - 1) : url;
|
return url.endsWith('/') ? url.substr(0, url.length - 1) : url;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue