Added redirect management when checking URLs

pull/10/head
MillenniumEarl 2020-10-09 16:42:13 +02:00
parent ac3f0e8acf
commit 12a3ff2ffd
5 changed files with 421 additions and 405 deletions

View File

@ -3,14 +3,11 @@
// Core modules
const fs = require("fs");
// Public modules from npm
const urlExist = require("url-exist");
// Modules from file
const shared = require("./scripts/shared.js");
const constURLs = require("./scripts/constants/urls.js");
const selectors = require("./scripts/constants/css-selectors.js");
const { isStringAValidURL } = require("./scripts/urls-helper.js");
const { isStringAValidURL, urlExists } = require("./scripts/urls-helper.js");
const gameScraper = require("./scripts/game-scraper.js");
const {
prepareBrowser,
@ -195,10 +192,10 @@ module.exports.getGameVersion = async function (info) {
return info.version;
}
let urlExists = await urlExist(info.f95url);
let exists = await urlExists(info.f95url);
// F95 change URL at every game update, so if the URL is the same no update is available
if (urlExists) return info.version;
if (exists) return info.version;
else return await module.exports.getGameData(info.name, info.isMod).version;
};
/**

View File

@ -1,5 +1,11 @@
'use strict';
// Public modules from npm
const isUrl = require("is-url-superb");
const ky = require("ky-universal").create({
throwHttpErrors: false
});
// Modules from file
const {
F95_BASE_URL
@ -29,4 +35,29 @@ module.exports.isStringAValidURL = function(url) {
} catch (err) {
return false;
}
}
/**
* @public
* Check if a particular URL is valid and reachable on the web.
* @param {String} url URL to check
* @param {Boolean} checkRedirect If true, the function will consider redirects a violation and return false
* @returns {Promise<Boolean>} true if the URL exists, false otherwise
*/
module.exports.urlExists = async function(url, checkRedirect) {
if (!isUrl(url)) {
return false
}
const response = await ky.head(url);
let valid = response !== undefined && !/4\d\d/.test(response.status);
if(!valid) return false;
if(checkRedirect) {
if (response.url === url) valid = true;
else valid = false;
}
return valid;
}

View File

@ -11,15 +11,16 @@ FN:192,(anonymous_7)
FN:213,(anonymous_8)
FN:252,(anonymous_9)
FN:302,(anonymous_10)
FN:320,loadCookies
FN:342,isCookieExpired
FN:378,loadValuesFromLatestPage
FN:412,getValuesFromLatestPage
FN:439,loginF95
FN:503,getUserWatchedGameThreads
FN:569,getSearchGameResults
FN:614,getOnlyGameThreads
FNF:19
FN:312,(anonymous_11)
FN:326,loadCookies
FN:348,isCookieExpired
FN:384,loadValuesFromLatestPage
FN:418,getValuesFromLatestPage
FN:445,loginF95
FN:509,getUserWatchedGameThreads
FN:575,getSearchGameResults
FN:620,getOnlyGameThreads
FNF:20
FNH:15
FNDA:0,(anonymous_0)
FNDA:0,(anonymous_1)
@ -32,11 +33,12 @@ FNDA:1,(anonymous_7)
FNDA:3,(anonymous_8)
FNDA:2,(anonymous_9)
FNDA:9,(anonymous_10)
FNDA:12,loadCookies
FNDA:0,(anonymous_11)
FNDA:13,loadCookies
FNDA:49,isCookieExpired
FNDA:6,loadValuesFromLatestPage
FNDA:2,getValuesFromLatestPage
FNDA:5,loginF95
FNDA:6,loginF95
FNDA:1,getUserWatchedGameThreads
FNDA:2,getSearchGameResults
FNDA:12,getOnlyGameThreads
@ -75,26 +77,26 @@ DA:93,1
DA:94,1
DA:98,10
DA:99,10
DA:100,5
DA:101,5
DA:102,5
DA:103,5
DA:104,5
DA:105,5
DA:109,5
DA:100,4
DA:101,4
DA:102,4
DA:103,4
DA:104,4
DA:105,4
DA:109,6
DA:110,0
DA:112,5
DA:113,5
DA:112,6
DA:113,6
DA:115,0
DA:116,0
DA:119,5
DA:120,5
DA:122,5
DA:124,2
DA:125,2
DA:119,6
DA:120,6
DA:122,6
DA:124,3
DA:125,3
DA:127,3
DA:129,5
DA:130,5
DA:129,6
DA:130,6
DA:139,1
DA:140,5
DA:141,1
@ -164,141 +166,144 @@ DA:293,1
DA:295,1
DA:302,1
DA:303,9
DA:304,3
DA:305,3
DA:307,6
DA:322,12
DA:324,7
DA:325,7
DA:328,7
DA:329,49
DA:333,7
DA:334,5
DA:344,49
DA:347,49
DA:349,49
DA:351,49
DA:304,4
DA:305,4
DA:307,5
DA:310,5
DA:311,0
DA:312,0
DA:328,13
DA:330,7
DA:331,7
DA:334,7
DA:335,49
DA:339,7
DA:340,6
DA:350,49
DA:353,49
DA:354,0
DA:355,0
DA:358,0
DA:362,49
DA:385,6
DA:386,6
DA:387,4
DA:388,4
DA:392,2
DA:393,0
DA:394,2
DA:399,2
DA:355,49
DA:357,49
DA:359,49
DA:360,0
DA:361,0
DA:364,0
DA:368,49
DA:391,6
DA:392,6
DA:393,4
DA:394,4
DA:398,2
DA:399,0
DA:400,2
DA:413,2
DA:415,2
DA:416,2
DA:418,2
DA:419,17
DA:424,17
DA:426,2
DA:440,5
DA:441,5
DA:444,5
DA:445,5
DA:446,5
DA:447,5
DA:448,5
DA:449,5
DA:450,5
DA:455,5
DA:458,5
DA:465,5
DA:466,2
DA:467,2
DA:468,2
DA:471,3
DA:478,3
DA:405,2
DA:406,2
DA:419,2
DA:421,2
DA:422,2
DA:424,2
DA:425,17
DA:430,17
DA:432,2
DA:446,6
DA:447,6
DA:450,6
DA:451,6
DA:452,6
DA:453,6
DA:454,6
DA:455,6
DA:456,6
DA:461,6
DA:464,6
DA:471,6
DA:472,3
DA:473,3
DA:474,3
DA:477,3
DA:484,3
DA:485,1
DA:486,2
DA:490,2
DA:491,0
DA:492,0
DA:494,5
DA:495,5
DA:504,1
DA:505,1
DA:508,1
DA:490,3
DA:491,1
DA:492,2
DA:496,2
DA:497,0
DA:498,0
DA:500,6
DA:501,6
DA:510,1
DA:511,1
DA:512,1
DA:513,1
DA:514,1
DA:517,1
DA:518,1
DA:519,1
DA:520,1
DA:523,1
DA:526,1
DA:527,1
DA:530,1
DA:531,1
DA:529,1
DA:532,1
DA:534,3
DA:535,46
DA:540,46
DA:541,46
DA:544,3
DA:533,1
DA:536,1
DA:537,1
DA:538,1
DA:540,3
DA:541,47
DA:546,47
DA:547,47
DA:550,3
DA:551,2
DA:552,2
DA:556,1
DA:557,1
DA:570,2
DA:572,2
DA:573,2
DA:574,2
DA:556,3
DA:557,2
DA:558,2
DA:562,1
DA:563,1
DA:576,2
DA:578,2
DA:579,2
DA:580,2
DA:581,2
DA:583,2
DA:584,2
DA:585,2
DA:586,2
DA:587,2
DA:589,2
DA:590,2
DA:591,2
DA:594,2
DA:595,2
DA:596,2
DA:597,12
DA:600,12
DA:592,2
DA:597,2
DA:600,2
DA:601,2
DA:602,2
DA:603,2
DA:605,2
DA:615,12
DA:618,12
DA:622,12
DA:625,12
DA:627,16
DA:631,16
DA:634,16
DA:636,4
LF:236
LH:213
DA:603,12
DA:606,12
DA:608,2
DA:609,2
DA:611,2
DA:621,12
DA:624,12
DA:628,12
DA:631,12
DA:633,16
DA:637,16
DA:640,16
DA:642,4
LF:239
LH:214
BRDA:71,0,0,0
BRDA:71,0,1,0
BRDA:89,1,0,1
BRDA:89,1,1,10
BRDA:90,2,0,0
BRDA:90,2,1,1
BRDA:99,3,0,5
BRDA:99,3,1,5
BRDA:99,3,0,4
BRDA:99,3,1,6
BRDA:100,4,0,0
BRDA:100,4,1,5
BRDA:100,4,1,4
BRDA:109,5,0,0
BRDA:109,5,1,5
BRDA:113,6,0,5
BRDA:109,5,1,6
BRDA:113,6,0,6
BRDA:113,6,1,0
BRDA:115,7,0,0
BRDA:115,7,1,0
BRDA:122,8,0,2
BRDA:122,8,0,3
BRDA:122,8,1,3
BRDA:125,9,0,0
BRDA:125,9,1,2
BRDA:129,10,0,5
BRDA:125,9,1,3
BRDA:129,10,0,6
BRDA:129,10,1,0
BRDA:140,11,0,1
BRDA:140,11,1,4
@ -338,62 +343,66 @@ BRDA:289,28,0,1
BRDA:289,28,1,0
BRDA:293,29,0,1
BRDA:293,29,1,0
BRDA:303,30,0,3
BRDA:303,30,1,6
BRDA:322,31,0,7
BRDA:322,31,1,5
BRDA:329,32,0,0
BRDA:329,32,1,49
BRDA:349,33,0,49
BRDA:349,33,1,0
BRDA:353,34,0,0
BRDA:353,34,1,49
BRDA:354,35,0,0
BRDA:354,35,1,0
BRDA:385,36,0,0
BRDA:385,36,1,6
BRDA:386,37,0,4
BRDA:386,37,1,2
BRDA:392,38,0,0
BRDA:392,38,1,2
BRDA:413,39,0,0
BRDA:413,39,1,2
BRDA:465,40,0,2
BRDA:465,40,1,3
BRDA:471,41,0,3
BRDA:471,41,1,0
BRDA:484,42,0,1
BRDA:484,42,1,2
BRDA:486,43,0,2
BRDA:486,43,1,0
BRDA:550,44,0,2
BRDA:550,44,1,1
BRDA:570,45,0,0
BRDA:570,45,1,2
BRDA:594,46,0,0
BRDA:594,46,1,2
BRDA:600,47,0,4
BRDA:600,47,1,8
BRDA:602,48,0,0
BRDA:602,48,1,2
BRDA:634,49,0,8
BRDA:634,49,1,8
BRF:100
BRH:60
BRDA:303,30,0,4
BRDA:303,30,1,5
BRDA:310,31,0,0
BRDA:310,31,1,5
BRDA:310,32,0,5
BRDA:310,32,1,0
BRDA:328,33,0,7
BRDA:328,33,1,6
BRDA:335,34,0,0
BRDA:335,34,1,49
BRDA:355,35,0,49
BRDA:355,35,1,0
BRDA:359,36,0,0
BRDA:359,36,1,49
BRDA:360,37,0,0
BRDA:360,37,1,0
BRDA:391,38,0,0
BRDA:391,38,1,6
BRDA:392,39,0,4
BRDA:392,39,1,2
BRDA:398,40,0,0
BRDA:398,40,1,2
BRDA:419,41,0,0
BRDA:419,41,1,2
BRDA:471,42,0,3
BRDA:471,42,1,3
BRDA:477,43,0,3
BRDA:477,43,1,0
BRDA:490,44,0,1
BRDA:490,44,1,2
BRDA:492,45,0,2
BRDA:492,45,1,0
BRDA:556,46,0,2
BRDA:556,46,1,1
BRDA:576,47,0,0
BRDA:576,47,1,2
BRDA:600,48,0,0
BRDA:600,48,1,2
BRDA:606,49,0,4
BRDA:606,49,1,8
BRDA:608,50,0,0
BRDA:608,50,1,2
BRDA:640,51,0,8
BRDA:640,51,1,8
BRF:104
BRH:62
end_of_record
TN:
SF:app\scripts\game-scraper.js
FN:23,(anonymous_0)
FN:75,getOverview
FN:90,getMainPostStructuredText
FN:105,getGameAuthor
FN:127,parseConversationPage
FN:154,getGamePreviewSource
FN:173,getGameTitle
FN:192,getGameTags
FN:211,parsePrefixes
FN:238,getGameDownloadLink
FN:287,extractGameHostingData
FN:79,getOverview
FN:94,getMainPostStructuredText
FN:112,getGameAuthor
FN:136,parseConversationPage
FN:162,getGamePreviewSource
FN:184,getGameTitle
FN:205,getGameTags
FN:227,parsePrefixes
FN:256,getGameDownloadLink
FN:323,extractGameHostingData
FNF:11
FNH:11
FNDA:4,(anonymous_0)
@ -440,103 +449,104 @@ DA:53,4
DA:54,4
DA:55,4
DA:56,4
DA:57,4
DA:58,4
DA:59,4
DA:61,4
DA:62,4
DA:63,4
DA:78,4
DA:79,2
DA:80,4
DA:92,4
DA:95,4
DA:65,4
DA:66,4
DA:67,4
DA:82,4
DA:83,2
DA:84,4
DA:96,4
DA:107,4
DA:110,4
DA:113,4
DA:116,4
DA:117,4
DA:128,4
DA:131,4
DA:132,4
DA:134,838
DA:137,228
DA:138,228
DA:139,228
DA:142,228
DA:145,4
DA:155,4
DA:164,4
DA:99,4
DA:103,4
DA:114,4
DA:119,4
DA:122,4
DA:125,4
DA:126,4
DA:137,4
DA:140,4
DA:141,4
DA:142,838
DA:145,228
DA:146,228
DA:147,228
DA:150,228
DA:153,4
DA:163,4
DA:175,4
DA:178,4
DA:181,4
DA:182,4
DA:183,4
DA:193,4
DA:186,4
DA:191,4
DA:194,4
DA:195,4
DA:196,4
DA:197,28
DA:198,28
DA:200,4
DA:212,4
DA:215,4
DA:206,4
DA:209,4
DA:210,28
DA:214,28
DA:216,4
DA:217,8
DA:220,8
DA:223,8
DA:224,8
DA:227,4
DA:229,4
DA:240,4
DA:243,4
DA:246,4
DA:228,4
DA:231,4
DA:232,4
DA:233,8
DA:239,8
DA:242,8
DA:243,8
DA:245,4
DA:247,4
DA:252,4
DA:253,4
DA:254,16
DA:255,14
DA:258,14
DA:259,86
DA:260,2
DA:261,2
DA:265,4
DA:268,2
DA:271,2
DA:272,2
DA:273,8
DA:274,8
DA:276,2
DA:288,8
DA:289,8
DA:290,8
DA:291,8
DA:292,8
DA:293,8
DA:294,8
DA:297,8
DA:298,8
DA:299,6
DA:302,6
DA:307,6
DA:311,6
DA:313,6
DA:314,6
DA:315,6
DA:317,30
DA:320,24
DA:321,24
DA:322,24
DA:325,24
DA:326,24
DA:327,24
DA:329,24
DA:330,24
DA:331,24
DA:332,24
DA:333,24
DA:335,24
DA:338,6
LF:129
DA:258,4
DA:269,4
DA:272,4
DA:273,4
DA:278,4
DA:279,4
DA:280,16
DA:281,14
DA:289,14
DA:290,86
DA:291,2
DA:292,2
DA:296,4
DA:299,2
DA:307,2
DA:308,2
DA:309,8
DA:310,8
DA:312,2
DA:324,8
DA:325,8
DA:326,8
DA:327,8
DA:328,8
DA:329,8
DA:330,8
DA:333,8
DA:334,8
DA:335,6
DA:339,6
DA:342,6
DA:343,0
DA:346,6
DA:348,6
DA:349,6
DA:350,6
DA:352,30
DA:355,24
DA:356,24
DA:357,24
DA:360,24
DA:361,24
DA:362,24
DA:364,24
DA:365,24
DA:366,24
DA:367,24
DA:368,24
DA:370,24
DA:373,6
LF:130
LH:129
BRDA:24,0,0,0
BRDA:24,0,1,4
@ -546,40 +556,40 @@ BRDA:29,2,0,0
BRDA:29,2,1,4
BRDA:56,3,0,2
BRDA:56,3,1,2
BRDA:57,4,0,2
BRDA:57,4,1,2
BRDA:62,5,0,0
BRDA:62,5,1,4
BRDA:78,6,0,2
BRDA:78,6,1,2
BRDA:134,7,0,610
BRDA:134,7,1,228
BRDA:142,8,0,124
BRDA:142,8,1,104
BRDA:164,9,0,3
BRDA:164,9,1,1
BRDA:223,10,0,0
BRDA:223,10,1,8
BRDA:224,11,0,4
BRDA:224,11,1,4
BRDA:227,12,0,2
BRDA:227,12,1,2
BRDA:247,13,0,0
BRDA:247,13,1,4
BRDA:254,14,0,2
BRDA:254,14,1,14
BRDA:259,15,0,2
BRDA:259,15,1,84
BRDA:265,16,0,2
BRDA:265,16,1,2
BRDA:298,17,0,2
BRDA:298,17,1,6
BRDA:307,18,0,0
BRDA:307,18,1,6
BRDA:317,19,0,6
BRDA:317,19,1,24
BRDA:329,20,0,24
BRDA:329,20,1,0
BRDA:59,4,0,2
BRDA:59,4,1,2
BRDA:66,5,0,0
BRDA:66,5,1,4
BRDA:82,6,0,2
BRDA:82,6,1,2
BRDA:142,7,0,610
BRDA:142,7,1,228
BRDA:150,8,0,124
BRDA:150,8,1,104
BRDA:175,9,0,2
BRDA:175,9,1,2
BRDA:242,10,0,0
BRDA:242,10,1,8
BRDA:243,11,0,4
BRDA:243,11,1,4
BRDA:245,12,0,2
BRDA:245,12,1,2
BRDA:273,13,0,0
BRDA:273,13,1,4
BRDA:280,14,0,2
BRDA:280,14,1,14
BRDA:290,15,0,2
BRDA:290,15,1,84
BRDA:296,16,0,2
BRDA:296,16,1,2
BRDA:334,17,0,2
BRDA:334,17,1,6
BRDA:342,18,0,0
BRDA:342,18,1,6
BRDA:352,19,0,6
BRDA:352,19,1,24
BRDA:364,20,0,24
BRDA:364,20,1,0
BRF:42
BRH:34
end_of_record
@ -590,27 +600,27 @@ FN:31,(anonymous_1)
FN:37,(anonymous_2)
FNF:3
FNH:3
FNDA:12,(anonymous_0)
FNDA:17,(anonymous_1)
FNDA:1962,(anonymous_2)
FNDA:13,(anonymous_0)
FNDA:18,(anonymous_1)
FNDA:2117,(anonymous_2)
DA:4,1
DA:7,1
DA:15,1
DA:17,12
DA:21,12
DA:17,13
DA:21,13
DA:31,1
DA:33,17
DA:36,17
DA:37,17
DA:38,1962
DA:41,1247
DA:45,17
DA:47,17
DA:49,17
DA:33,18
DA:36,18
DA:37,18
DA:38,2117
DA:41,1331
DA:45,18
DA:47,18
DA:49,18
LF:14
LH:14
BRDA:38,0,0,715
BRDA:38,0,1,1247
BRDA:38,0,0,786
BRDA:38,0,1,1331
BRF:2
BRH:2
end_of_record
@ -635,22 +645,22 @@ FN:149,(anonymous_15)
FN:153,(anonymous_16)
FNF:17
FNH:14
FNDA:56,(anonymous_0)
FNDA:58,(anonymous_0)
FNDA:31,(anonymous_1)
FNDA:21,(anonymous_2)
FNDA:8,(anonymous_3)
FNDA:8,(anonymous_4)
FNDA:0,(anonymous_5)
FNDA:21,(anonymous_6)
FNDA:23,(anonymous_6)
FNDA:3,(anonymous_7)
FNDA:3,(anonymous_8)
FNDA:23,(anonymous_9)
FNDA:12,(anonymous_10)
FNDA:30,(anonymous_9)
FNDA:13,(anonymous_10)
FNDA:3,(anonymous_11)
FNDA:3,(anonymous_12)
FNDA:0,(anonymous_13)
FNDA:0,(anonymous_14)
FNDA:16,(anonymous_15)
FNDA:15,(anonymous_15)
FNDA:1,(anonymous_16)
DA:4,1
DA:15,1
@ -661,22 +671,22 @@ DA:35,1
DA:40,1
DA:45,1
DA:51,1
DA:60,56
DA:60,58
DA:67,31
DA:74,21
DA:81,8
DA:88,8
DA:95,0
DA:102,21
DA:102,23
DA:109,3
DA:116,3
DA:124,23
DA:130,12
DA:124,30
DA:130,13
DA:134,3
DA:138,3
DA:142,0
DA:146,0
DA:150,16
DA:150,15
DA:154,1
DA:159,1
LF:27
@ -686,25 +696,25 @@ BRH:0
end_of_record
TN:
SF:app\scripts\urls-helper.js
FN:12,(anonymous_0)
FN:23,(anonymous_1)
FN:14,(anonymous_0)
FN:25,(anonymous_1)
FNF:2
FNH:2
FNDA:4,(anonymous_0)
FNDA:29,(anonymous_1)
DA:4,1
DA:12,1
DA:13,4
DA:14,0
DA:23,1
DA:24,29
DA:25,29
DA:26,28
DA:28,1
DA:6,1
DA:14,1
DA:15,4
DA:16,0
DA:25,1
DA:26,29
DA:27,29
DA:28,27
DA:30,2
LF:9
LH:8
BRDA:13,0,0,4
BRDA:13,0,1,0
BRDA:15,0,0,4
BRDA:15,0,1,0
BRF:2
BRH:1
end_of_record
@ -792,7 +802,7 @@ BRF:0
BRH:0
end_of_record
TN:
SF:app\scripts\costants\css-selectors.js
SF:app\scripts\constants\css-selectors.js
FNF:0
FNH:0
DA:1,1
@ -802,7 +812,7 @@ BRF:0
BRH:0
end_of_record
TN:
SF:app\scripts\costants\urls.js
SF:app\scripts\constants\urls.js
FNF:0
FNH:0
DA:1,1

73
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "f95api",
"version": "1.0.0",
"version": "1.0.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@ -555,6 +555,11 @@
"which": "^2.0.1"
}
},
"data-uri-to-buffer": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz",
"integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og=="
},
"debug": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
@ -714,6 +719,11 @@
"pend": "~1.2.0"
}
},
"fetch-blob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-2.1.1.tgz",
"integrity": "sha512-Uf+gxPCe1hTOFXwkxYyckn8iUSk6CFXGy5VENZKifovUTZC9eUODWSBhOBS7zICGrAetKzdwLMr85KhIcePMAQ=="
},
"fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@ -945,11 +955,6 @@
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"ip-regex": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.2.0.tgz",
"integrity": "sha512-n5cDDeTWWRwK1EBoWwRti+8nP4NbytBBY0pldmnIkq6Z55KNFmWofh4rl9dPZpj+U/nVq7gweR3ylrvMt4YZ5A=="
},
"is-arguments": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
@ -1065,12 +1070,9 @@
"dev": true
},
"is-url-superb": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-url-superb/-/is-url-superb-3.0.0.tgz",
"integrity": "sha512-3faQP+wHCGDQT1qReM5zCPx2mxoal6DzbzquFlCYJLWyy4WPTved33ea2xFbX37z4NoriEwZGIYhFtx8RUB5wQ==",
"requires": {
"url-regex": "^5.0.0"
}
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/is-url-superb/-/is-url-superb-4.0.0.tgz",
"integrity": "sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA=="
},
"is-windows": {
"version": "1.0.2",
@ -1236,18 +1238,13 @@
"minimist": "^1.2.5"
}
},
"ky": {
"version": "0.19.1",
"resolved": "https://registry.npmjs.org/ky/-/ky-0.19.1.tgz",
"integrity": "sha512-ZwciYrfaWpDI72U2HAruuGYGFW3PCfGNdWWSANGGssg9BGm4rRJ9s/sApiiRpj+8Y245/hlZW9c60zudLr6iwA=="
},
"ky-universal": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.5.0.tgz",
"integrity": "sha512-O+0wjCua5i45lYBZrBy8TyRDRVodtsmzVC/MlE5FN7ZMFu/Icz7ekbZ85sdFw0F/JwGhXZTaKjXq9IgUGwGedQ==",
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.8.2.tgz",
"integrity": "sha512-xe0JaOH9QeYxdyGLnzUOVGK4Z6FGvDVzcXFTdrYA1f33MZdEa45sUDaMBy98xQMcsd2XIBrTXRrRYnegcSdgVQ==",
"requires": {
"abort-controller": "^3.0.0",
"node-fetch": "^2.6.0"
"node-fetch": "3.0.0-beta.9"
}
},
"locate-path": {
@ -1600,9 +1597,13 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node-fetch": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
"version": "3.0.0-beta.9",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.0.0-beta.9.tgz",
"integrity": "sha512-RdbZCEynH2tH46+tj0ua9caUHVWrd/RHnRfvly2EVdqGmI3ndS1Vn/xjm5KuGejDt2RNDQsVRLPNd2QPwcewVg==",
"requires": {
"data-uri-to-buffer": "^3.0.1",
"fetch-blob": "^2.1.1"
}
},
"node-html-parser": {
"version": "1.2.21",
@ -2103,11 +2104,6 @@
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
},
"tlds": {
"version": "1.210.0",
"resolved": "https://registry.npmjs.org/tlds/-/tlds-1.210.0.tgz",
"integrity": "sha512-5bzt4JE+NlnwiKpVW9yzWxuc44m+t2opmPG+eSKDp5V5qdyGvjMngKgBb5ZK8GiheQMbRTCKpRwFJeIEO6pV7Q=="
},
"to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@ -2153,25 +2149,6 @@
"through": "^2.3.8"
}
},
"url-exist": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/url-exist/-/url-exist-2.0.2.tgz",
"integrity": "sha512-JqLjYS8pU9xZtY3ro4c54CztoP5R8qRyMlg2Cxr4M9YD1NCe57MOsZHF1rP3y+qQcc7cqiZBBd4Cu5oehcJRlQ==",
"requires": {
"is-url-superb": "^3.0.0",
"ky": "^0.19.0",
"ky-universal": "^0.5.0"
}
},
"url-regex": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/url-regex/-/url-regex-5.0.0.tgz",
"integrity": "sha512-O08GjTiAFNsSlrUWfqF1jH0H1W3m35ZyadHrGv5krdnmPPoxP27oDTqux/579PtaroiSGm5yma6KT1mHFH6Y/g==",
"requires": {
"ip-regex": "^4.1.0",
"tlds": "^1.203.0"
}
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",

View File

@ -31,9 +31,10 @@
"node": ">=10.0"
},
"dependencies": {
"is-url-superb": "^4.0.0",
"ky-universal": "^0.8.2",
"node-html-parser": "^1.2.21",
"puppeteer": "^5.3.1",
"url-exist": "^2.0.2"
"puppeteer": "^5.3.1"
},
"devDependencies": {
"chai": "^4.2.0",