pentest-tool-lite 3.10.6 → 3.10.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Pentest.js +46 -0
- package/dist/{src/Test.js → Test.js} +11 -24
- package/dist/commands/Sitemap.js +79 -0
- package/dist/dns/A.js +49 -0
- package/dist/dns/DMARC.js +59 -0
- package/dist/dns/NS.js +36 -0
- package/dist/dns/RegistrationDate.js +39 -0
- package/dist/dns/index.js +47 -0
- package/dist/functions/parseSitemap.js +12 -0
- package/dist/html/Anchor.js +56 -0
- package/dist/html/CSS.js +92 -0
- package/dist/html/DuplicateId.js +35 -0
- package/dist/html/Generator.js +31 -0
- package/dist/html/Image.js +79 -0
- package/dist/html/JavaScript.js +107 -0
- package/dist/{src/html → html}/__TESTS__/Generator.test.js +10 -19
- package/dist/html/index.js +51 -0
- package/dist/{src/index → index} +21 -20
- package/dist/{src/logger → logger}/Console.js +1 -3
- package/dist/metadata/HTML.js +26 -0
- package/dist/metadata/Markdown.js +28 -0
- package/dist/metadata/ResponseTime.js +25 -0
- package/dist/metadata/index.js +45 -0
- package/dist/request/NodeFetch.js +58 -0
- package/dist/{src/request → request}/cache/UnlimitedCache.js +2 -0
- package/dist/security/ContentEncoding.js +44 -0
- package/dist/security/ContentSecurityPolicy.js +32 -0
- package/dist/security/Cookies.js +44 -0
- package/dist/security/FingerPrint.js +37 -0
- package/dist/security/GoogleWebRisk.js +44 -0
- package/dist/security/HSTS.js +48 -0
- package/dist/security/HTTPS.js +78 -0
- package/dist/security/HTTPVersion.js +50 -0
- package/dist/security/PermissionsPolicy.js +53 -0
- package/dist/security/Redirect.js +37 -0
- package/dist/security/ReferrerPolicy.js +32 -0
- package/dist/security/RobotsTXT.js +28 -0
- package/dist/security/SSL.js +36 -0
- package/dist/security/XFrameOptions.js +32 -0
- package/dist/security/XXSSProtection.js +32 -0
- package/dist/{src/security → security}/__TESTS__/ContentSecurityPolicy.test.js +10 -19
- package/dist/{src/security → security}/__TESTS__/FingerPrint.test.js +10 -19
- package/dist/{src/security → security}/__TESTS__/HSTS.test.js +15 -24
- package/dist/{src/security → security}/__TESTS__/HTTPS.test.js +15 -24
- package/dist/{src/security → security}/__TESTS__/XFrameOptions.test.js +10 -19
- package/dist/{src/security → security}/__TESTS__/XXSSProtection.test.js +10 -19
- package/dist/{src/security → security}/index.js +20 -31
- package/dist/seo/Heading.js +51 -0
- package/dist/seo/Robots.js +21 -0
- package/dist/seo/Sitemap.js +32 -0
- package/dist/seo/Title.js +44 -0
- package/dist/seo/index.js +47 -0
- package/dist/wordpress/DefaultFiles.js +50 -0
- package/dist/wordpress/Generator.js +58 -0
- package/dist/wordpress/index.js +43 -0
- package/package.json +10 -2
- package/dist/package.json +0 -61
- package/dist/src/Pentest.js +0 -57
- package/dist/src/commands/Sitemap.js +0 -96
- package/dist/src/dns/A.js +0 -65
- package/dist/src/dns/DMARC.js +0 -73
- package/dist/src/dns/NS.js +0 -52
- package/dist/src/dns/RegistrationDate.js +0 -55
- package/dist/src/dns/index.js +0 -58
- package/dist/src/functions/parseSitemap.js +0 -23
- package/dist/src/html/Anchor.js +0 -72
- package/dist/src/html/CSS.js +0 -108
- package/dist/src/html/DuplicateId.js +0 -49
- package/dist/src/html/Generator.js +0 -45
- package/dist/src/html/Image.js +0 -95
- package/dist/src/html/JavaScript.js +0 -123
- package/dist/src/html/index.js +0 -62
- package/dist/src/metadata/HTML.js +0 -40
- package/dist/src/metadata/Markdown.js +0 -42
- package/dist/src/metadata/ResponseTime.js +0 -39
- package/dist/src/metadata/index.js +0 -56
- package/dist/src/request/NodeFetch.js +0 -68
- package/dist/src/security/ContentEncoding.js +0 -58
- package/dist/src/security/ContentSecurityPolicy.js +0 -46
- package/dist/src/security/Cookies.js +0 -58
- package/dist/src/security/FingerPrint.js +0 -51
- package/dist/src/security/GoogleWebRisk.js +0 -58
- package/dist/src/security/HSTS.js +0 -62
- package/dist/src/security/HTTPS.js +0 -92
- package/dist/src/security/HTTPVersion.js +0 -64
- package/dist/src/security/PermissionsPolicy.js +0 -67
- package/dist/src/security/Redirect.js +0 -51
- package/dist/src/security/ReferrerPolicy.js +0 -46
- package/dist/src/security/RobotsTXT.js +0 -42
- package/dist/src/security/SSL.js +0 -50
- package/dist/src/security/XFrameOptions.js +0 -46
- package/dist/src/security/XXSSProtection.js +0 -46
- package/dist/src/seo/Heading.js +0 -65
- package/dist/src/seo/Robots.js +0 -35
- package/dist/src/seo/Sitemap.js +0 -46
- package/dist/src/seo/Title.js +0 -58
- package/dist/src/seo/index.js +0 -58
- package/dist/src/wordpress/DefaultFiles.js +0 -66
- package/dist/src/wordpress/Generator.js +0 -76
- package/dist/src/wordpress/index.js +0 -54
- /package/dist/{src/Pentest.d.ts → Pentest.d.ts} +0 -0
- /package/dist/{src/Test.d.ts → Test.d.ts} +0 -0
- /package/dist/{src/commands → commands}/Sitemap.d.ts +0 -0
- /package/dist/{src/config.d.ts → config.d.ts} +0 -0
- /package/dist/{src/config.js → config.js} +0 -0
- /package/dist/{src/dns → dns}/A.d.ts +0 -0
- /package/dist/{src/dns → dns}/DMARC.d.ts +0 -0
- /package/dist/{src/dns → dns}/NS.d.ts +0 -0
- /package/dist/{src/dns → dns}/RegistrationDate.d.ts +0 -0
- /package/dist/{src/dns → dns}/index.d.ts +0 -0
- /package/dist/{src/functions → functions}/findEvery.d.ts +0 -0
- /package/dist/{src/functions → functions}/findEvery.js +0 -0
- /package/dist/{src/functions → functions}/getAnchors.d.ts +0 -0
- /package/dist/{src/functions → functions}/getAnchors.js +0 -0
- /package/dist/{src/functions → functions}/getDomain.d.ts +0 -0
- /package/dist/{src/functions → functions}/getDomain.js +0 -0
- /package/dist/{src/functions → functions}/getDuplicates.d.ts +0 -0
- /package/dist/{src/functions → functions}/getDuplicates.js +0 -0
- /package/dist/{src/functions → functions}/getGenerator.d.ts +0 -0
- /package/dist/{src/functions → functions}/getGenerator.js +0 -0
- /package/dist/{src/functions → functions}/getHeading.d.ts +0 -0
- /package/dist/{src/functions → functions}/getHeading.js +0 -0
- /package/dist/{src/functions → functions}/getImages.d.ts +0 -0
- /package/dist/{src/functions → functions}/getImages.js +0 -0
- /package/dist/{src/functions → functions}/getObject.d.ts +0 -0
- /package/dist/{src/functions → functions}/getObject.js +0 -0
- /package/dist/{src/functions → functions}/getScripts.d.ts +0 -0
- /package/dist/{src/functions → functions}/getScripts.js +0 -0
- /package/dist/{src/functions → functions}/getStylesheets.d.ts +0 -0
- /package/dist/{src/functions → functions}/getStylesheets.js +0 -0
- /package/dist/{src/functions → functions}/getTitle.d.ts +0 -0
- /package/dist/{src/functions → functions}/getTitle.js +0 -0
- /package/dist/{src/functions → functions}/index.d.ts +0 -0
- /package/dist/{src/functions → functions}/index.js +0 -0
- /package/dist/{src/functions → functions}/parseHtml.d.ts +0 -0
- /package/dist/{src/functions → functions}/parseHtml.js +0 -0
- /package/dist/{src/functions → functions}/parseSitemap.d.ts +0 -0
- /package/dist/{src/functions → functions}/parseXml.d.ts +0 -0
- /package/dist/{src/functions → functions}/parseXml.js +0 -0
- /package/dist/{src/html → html}/Anchor.d.ts +0 -0
- /package/dist/{src/html → html}/CSS.d.ts +0 -0
- /package/dist/{src/html → html}/DuplicateId.d.ts +0 -0
- /package/dist/{src/html → html}/Generator.d.ts +0 -0
- /package/dist/{src/html → html}/Image.d.ts +0 -0
- /package/dist/{src/html → html}/JavaScript.d.ts +0 -0
- /package/dist/{src/html → html}/__TESTS__/Generator.test.d.ts +0 -0
- /package/dist/{src/html → html}/index.d.ts +0 -0
- /package/dist/{src/index.d.ts → index.d.ts} +0 -0
- /package/dist/{src/logger → logger}/Console.d.ts +0 -0
- /package/dist/{src/logger → logger}/Logger.d.ts +0 -0
- /package/dist/{src/logger → logger}/Logger.js +0 -0
- /package/dist/{src/logger → logger}/index.d.ts +0 -0
- /package/dist/{src/logger → logger}/index.js +0 -0
- /package/dist/{src/metadata → metadata}/HTML.d.ts +0 -0
- /package/dist/{src/metadata → metadata}/Markdown.d.ts +0 -0
- /package/dist/{src/metadata → metadata}/ResponseTime.d.ts +0 -0
- /package/dist/{src/metadata → metadata}/index.d.ts +0 -0
- /package/dist/{src/report → report}/CommandLine.d.ts +0 -0
- /package/dist/{src/report → report}/CommandLine.js +0 -0
- /package/dist/{src/report → report}/Json.d.ts +0 -0
- /package/dist/{src/report → report}/Json.js +0 -0
- /package/dist/{src/report → report}/Report.d.ts +0 -0
- /package/dist/{src/report → report}/Report.js +0 -0
- /package/dist/{src/report → report}/Symbols.d.ts +0 -0
- /package/dist/{src/report → report}/Symbols.js +0 -0
- /package/dist/{src/report → report}/index.d.ts +0 -0
- /package/dist/{src/report → report}/index.js +0 -0
- /package/dist/{src/request → request}/NodeFetch.d.ts +0 -0
- /package/dist/{src/request → request}/Request.d.ts +0 -0
- /package/dist/{src/request → request}/Request.js +0 -0
- /package/dist/{src/request → request}/cache/BlackHoleCache.d.ts +0 -0
- /package/dist/{src/request → request}/cache/BlackHoleCache.js +0 -0
- /package/dist/{src/request → request}/cache/UnlimitedCache.d.ts +0 -0
- /package/dist/{src/request → request}/index.d.ts +0 -0
- /package/dist/{src/request → request}/index.js +0 -0
- /package/dist/{src/security → security}/ContentEncoding.d.ts +0 -0
- /package/dist/{src/security → security}/ContentSecurityPolicy.d.ts +0 -0
- /package/dist/{src/security → security}/Cookies.d.ts +0 -0
- /package/dist/{src/security → security}/FingerPrint.d.ts +0 -0
- /package/dist/{src/security → security}/GoogleWebRisk.d.ts +0 -0
- /package/dist/{src/security → security}/HSTS.d.ts +0 -0
- /package/dist/{src/security → security}/HTTPS.d.ts +0 -0
- /package/dist/{src/security → security}/HTTPVersion.d.ts +0 -0
- /package/dist/{src/security → security}/PermissionsPolicy.d.ts +0 -0
- /package/dist/{src/security → security}/Redirect.d.ts +0 -0
- /package/dist/{src/security → security}/ReferrerPolicy.d.ts +0 -0
- /package/dist/{src/security → security}/RobotsTXT.d.ts +0 -0
- /package/dist/{src/security → security}/SSL.d.ts +0 -0
- /package/dist/{src/security → security}/XFrameOptions.d.ts +0 -0
- /package/dist/{src/security → security}/XXSSProtection.d.ts +0 -0
- /package/dist/{src/security → security}/__TESTS__/ContentSecurityPolicy.test.d.ts +0 -0
- /package/dist/{src/security → security}/__TESTS__/FingerPrint.test.d.ts +0 -0
- /package/dist/{src/security → security}/__TESTS__/HSTS.test.d.ts +0 -0
- /package/dist/{src/security → security}/__TESTS__/HTTPS.test.d.ts +0 -0
- /package/dist/{src/security → security}/__TESTS__/XFrameOptions.test.d.ts +0 -0
- /package/dist/{src/security → security}/__TESTS__/XXSSProtection.test.d.ts +0 -0
- /package/dist/{src/security → security}/index.d.ts +0 -0
- /package/dist/{src/seo → seo}/Heading.d.ts +0 -0
- /package/dist/{src/seo → seo}/Robots.d.ts +0 -0
- /package/dist/{src/seo → seo}/Sitemap.d.ts +0 -0
- /package/dist/{src/seo → seo}/Title.d.ts +0 -0
- /package/dist/{src/seo → seo}/index.d.ts +0 -0
- /package/dist/{src/wordpress → wordpress}/DefaultFiles.d.ts +0 -0
- /package/dist/{src/wordpress → wordpress}/Generator.d.ts +0 -0
- /package/dist/{src/wordpress → wordpress}/index.d.ts +0 -0
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.default = default_1;
|
|
16
|
-
const parseXml_1 = __importDefault(require("./parseXml"));
|
|
17
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
18
|
-
function default_1(sitemap) {
|
|
19
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
-
const data = yield (0, parseXml_1.default)(sitemap);
|
|
21
|
-
return data.urlset.url.map((url) => url.loc[0]);
|
|
22
|
-
});
|
|
23
|
-
}
|
package/dist/src/html/Anchor.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const Test_1 = __importDefault(require("../Test"));
|
|
16
|
-
const request_1 = __importDefault(require("../request"));
|
|
17
|
-
const logger_1 = __importDefault(require("../logger"));
|
|
18
|
-
const functions_1 = require("../functions");
|
|
19
|
-
class Anchor extends Test_1.default {
|
|
20
|
-
constructor() {
|
|
21
|
-
super(...arguments);
|
|
22
|
-
this.name = 'Anchor';
|
|
23
|
-
}
|
|
24
|
-
test(_a) {
|
|
25
|
-
return __awaiter(this, arguments, void 0, function* ({ url }) {
|
|
26
|
-
logger_1.default.info(`Starting ${this.constructor.name} test...`);
|
|
27
|
-
const response = yield request_1.default.get(url);
|
|
28
|
-
const html = yield (0, functions_1.parseHtml)(response);
|
|
29
|
-
const anchors = (0, functions_1.getAnchors)(html);
|
|
30
|
-
const subTests = yield this.check(anchors);
|
|
31
|
-
return {
|
|
32
|
-
status: this.getStatus(subTests.map(test => test.status)),
|
|
33
|
-
title: this.constructor.name,
|
|
34
|
-
description: '',
|
|
35
|
-
results: subTests,
|
|
36
|
-
};
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
check(anchors) {
|
|
40
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
const results = [];
|
|
42
|
-
for (const anchor of anchors) {
|
|
43
|
-
logger_1.default.verbose(`Checking ${anchor}...`);
|
|
44
|
-
const result = yield request_1.default.get(anchor);
|
|
45
|
-
const isFileAvailabe = {
|
|
46
|
-
status: this.isFileAvailable(result) ? 'SUCCESS' : 'ERROR',
|
|
47
|
-
title: 'Available',
|
|
48
|
-
description: '',
|
|
49
|
-
};
|
|
50
|
-
results.push({
|
|
51
|
-
status: this.getStatus([
|
|
52
|
-
isFileAvailabe.status,
|
|
53
|
-
]), // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
54
|
-
title: anchor,
|
|
55
|
-
description: '',
|
|
56
|
-
results: [
|
|
57
|
-
isFileAvailabe,
|
|
58
|
-
],
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
return results;
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
65
|
-
isFileAvailable(result) {
|
|
66
|
-
if (result.response.statusCode === 404 || result.response.statusCode === 500) {
|
|
67
|
-
return false;
|
|
68
|
-
}
|
|
69
|
-
return true;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
exports.default = Anchor;
|
package/dist/src/html/CSS.js
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const csso_1 = __importDefault(require("csso"));
|
|
16
|
-
const Test_1 = __importDefault(require("../Test"));
|
|
17
|
-
const request_1 = __importDefault(require("../request"));
|
|
18
|
-
const logger_1 = __importDefault(require("../logger"));
|
|
19
|
-
const functions_1 = require("../functions");
|
|
20
|
-
class CSS extends Test_1.default {
|
|
21
|
-
constructor() {
|
|
22
|
-
super(...arguments);
|
|
23
|
-
this.name = 'CSS';
|
|
24
|
-
}
|
|
25
|
-
test(_a) {
|
|
26
|
-
return __awaiter(this, arguments, void 0, function* ({ url }) {
|
|
27
|
-
logger_1.default.info(`Starting ${this.constructor.name} test...`);
|
|
28
|
-
const response = yield request_1.default.get(url);
|
|
29
|
-
const html = yield (0, functions_1.parseHtml)(response);
|
|
30
|
-
const stylesheets = (0, functions_1.getStylesheets)(html);
|
|
31
|
-
const subTests = yield this.check(stylesheets);
|
|
32
|
-
return {
|
|
33
|
-
status: this.getStatus(subTests.map(test => test.status)),
|
|
34
|
-
title: this.constructor.name,
|
|
35
|
-
description: '',
|
|
36
|
-
results: subTests,
|
|
37
|
-
};
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
check(stylesheets) {
|
|
41
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
const results = [];
|
|
43
|
-
for (const stylesheet of stylesheets) {
|
|
44
|
-
const filename = stylesheet.substring(stylesheet.lastIndexOf('/') + 1);
|
|
45
|
-
logger_1.default.verbose(`Checking ${filename}...`);
|
|
46
|
-
const result = yield request_1.default.get(stylesheet);
|
|
47
|
-
const isFileAvailabe = {
|
|
48
|
-
status: this.isFileAvailable(result) ? 'SUCCESS' : 'ERROR',
|
|
49
|
-
title: 'Available',
|
|
50
|
-
description: '',
|
|
51
|
-
};
|
|
52
|
-
const isCached = {
|
|
53
|
-
status: this.isCached(result) ? 'SUCCESS' : 'ERROR',
|
|
54
|
-
title: 'Cached',
|
|
55
|
-
description: '',
|
|
56
|
-
};
|
|
57
|
-
const hasXContentTypeOptionsHeader = {
|
|
58
|
-
status: this.hasXContentTypeOptionsHeader(result) ? 'SUCCESS' : 'WARNING',
|
|
59
|
-
title: 'X-Content-Type-Options',
|
|
60
|
-
description: '',
|
|
61
|
-
};
|
|
62
|
-
const isMinified = {
|
|
63
|
-
status: this.isMinified(result) ? 'SUCCESS' : 'WARNING',
|
|
64
|
-
title: 'Minified',
|
|
65
|
-
description: '',
|
|
66
|
-
};
|
|
67
|
-
results.push({
|
|
68
|
-
status: this.getStatus([
|
|
69
|
-
isFileAvailabe.status,
|
|
70
|
-
isCached.status,
|
|
71
|
-
hasXContentTypeOptionsHeader.status,
|
|
72
|
-
isMinified.status,
|
|
73
|
-
]), // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
74
|
-
title: filename,
|
|
75
|
-
description: '',
|
|
76
|
-
results: [
|
|
77
|
-
isFileAvailabe,
|
|
78
|
-
isCached,
|
|
79
|
-
hasXContentTypeOptionsHeader,
|
|
80
|
-
isMinified,
|
|
81
|
-
],
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
return results;
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
88
|
-
isFileAvailable(result) {
|
|
89
|
-
if (result.response.statusCode === 404 || result.response.statusCode === 500) {
|
|
90
|
-
return false;
|
|
91
|
-
}
|
|
92
|
-
return true;
|
|
93
|
-
}
|
|
94
|
-
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
95
|
-
isCached(result) {
|
|
96
|
-
return result.response.headers.has('cache-control');
|
|
97
|
-
}
|
|
98
|
-
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
99
|
-
hasXContentTypeOptionsHeader(result) {
|
|
100
|
-
return result.response.headers.has('x-content-type-options');
|
|
101
|
-
}
|
|
102
|
-
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
103
|
-
isMinified(result) {
|
|
104
|
-
const r = csso_1.default.minify(result.body, { restructure: false }).css;
|
|
105
|
-
return r.length === result.body.length;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
exports.default = CSS;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const Test_1 = __importDefault(require("../Test"));
|
|
16
|
-
const request_1 = __importDefault(require("../request"));
|
|
17
|
-
const logger_1 = __importDefault(require("../logger"));
|
|
18
|
-
const functions_1 = require("../functions");
|
|
19
|
-
class DuplicateId extends Test_1.default {
|
|
20
|
-
constructor() {
|
|
21
|
-
super(...arguments);
|
|
22
|
-
this.name = 'Duplicate ID';
|
|
23
|
-
}
|
|
24
|
-
test(_a) {
|
|
25
|
-
return __awaiter(this, arguments, void 0, function* ({ url }) {
|
|
26
|
-
logger_1.default.info('Starting DuplicateId test...');
|
|
27
|
-
const response = yield request_1.default.get(url);
|
|
28
|
-
const duplicates = yield (0, functions_1.getDuplicates)(response);
|
|
29
|
-
if (duplicates.length > 0) {
|
|
30
|
-
return {
|
|
31
|
-
status: 'WARNING',
|
|
32
|
-
title: 'Duplicate IDs',
|
|
33
|
-
description: '',
|
|
34
|
-
results: duplicates.map(duplicate => ({
|
|
35
|
-
status: 'WARNING',
|
|
36
|
-
title: `<${duplicate.name} id="${duplicate.attribs.id}" ... />`,
|
|
37
|
-
description: '',
|
|
38
|
-
}))
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
return {
|
|
42
|
-
status: 'SUCCESS',
|
|
43
|
-
title: 'Duplicate IDs',
|
|
44
|
-
description: ''
|
|
45
|
-
};
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
exports.default = DuplicateId;
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const Test_1 = __importDefault(require("../Test"));
|
|
16
|
-
const request_1 = __importDefault(require("../request"));
|
|
17
|
-
const logger_1 = __importDefault(require("../logger"));
|
|
18
|
-
const functions_1 = require("../functions");
|
|
19
|
-
class Generator extends Test_1.default {
|
|
20
|
-
constructor() {
|
|
21
|
-
super(...arguments);
|
|
22
|
-
this.name = 'Generator';
|
|
23
|
-
}
|
|
24
|
-
test(_a) {
|
|
25
|
-
return __awaiter(this, arguments, void 0, function* ({ url }) {
|
|
26
|
-
logger_1.default.info('Starting DuplicateId test...');
|
|
27
|
-
const response = yield request_1.default.get(url);
|
|
28
|
-
const html = yield (0, functions_1.parseHtml)(response);
|
|
29
|
-
const generators = yield (0, functions_1.getGenerator)(html);
|
|
30
|
-
if (generators.length > 0) {
|
|
31
|
-
return {
|
|
32
|
-
status: 'WARNING',
|
|
33
|
-
title: this.name,
|
|
34
|
-
description: 'Page contains inmformation about its generator!',
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
return {
|
|
38
|
-
status: 'SUCCESS',
|
|
39
|
-
title: this.name,
|
|
40
|
-
description: 'Page doesn\t contain any information about its generator.',
|
|
41
|
-
};
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
exports.default = Generator;
|
package/dist/src/html/Image.js
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const Test_1 = __importDefault(require("../Test"));
|
|
16
|
-
const request_1 = __importDefault(require("../request"));
|
|
17
|
-
const logger_1 = __importDefault(require("../logger"));
|
|
18
|
-
const functions_1 = require("../functions");
|
|
19
|
-
class Image extends Test_1.default {
|
|
20
|
-
constructor() {
|
|
21
|
-
super(...arguments);
|
|
22
|
-
this.name = 'Image';
|
|
23
|
-
}
|
|
24
|
-
test(_a) {
|
|
25
|
-
return __awaiter(this, arguments, void 0, function* ({ url }) {
|
|
26
|
-
logger_1.default.info('Starting Image test...');
|
|
27
|
-
const response = yield request_1.default.get(url);
|
|
28
|
-
const html = yield (0, functions_1.parseHtml)(response);
|
|
29
|
-
const images = (0, functions_1.getImages)(html);
|
|
30
|
-
const subTests = yield this.checkImages(images);
|
|
31
|
-
return {
|
|
32
|
-
status: this.getStatus(subTests.map(test => test.status)),
|
|
33
|
-
title: 'Image',
|
|
34
|
-
description: '',
|
|
35
|
-
results: subTests,
|
|
36
|
-
};
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
checkImages(images) {
|
|
40
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
const results = [];
|
|
42
|
-
for (const image of images) {
|
|
43
|
-
const filename = image.substring(image.lastIndexOf('/') + 1);
|
|
44
|
-
logger_1.default.verbose(`Checking ${filename}...`);
|
|
45
|
-
const result = yield request_1.default.get(image);
|
|
46
|
-
const isFileAvailabe = {
|
|
47
|
-
status: this.isFileAvailable(result) ? 'SUCCESS' : 'ERROR',
|
|
48
|
-
title: 'Available',
|
|
49
|
-
description: '',
|
|
50
|
-
};
|
|
51
|
-
const isCached = {
|
|
52
|
-
status: this.isCached(result) ? 'SUCCESS' : 'ERROR',
|
|
53
|
-
title: 'Cached',
|
|
54
|
-
description: '',
|
|
55
|
-
};
|
|
56
|
-
const hasXContentTypeOptionsHeader = {
|
|
57
|
-
status: this.hasXContentTypeOptionsHeader(result) ? 'SUCCESS' : 'WARNING',
|
|
58
|
-
title: 'X-Content-Type-Options',
|
|
59
|
-
description: '',
|
|
60
|
-
};
|
|
61
|
-
results.push({
|
|
62
|
-
status: this.getStatus([
|
|
63
|
-
isFileAvailabe.status,
|
|
64
|
-
isCached.status,
|
|
65
|
-
hasXContentTypeOptionsHeader.status,
|
|
66
|
-
]), // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
67
|
-
title: filename,
|
|
68
|
-
description: '',
|
|
69
|
-
results: [
|
|
70
|
-
isFileAvailabe,
|
|
71
|
-
isCached,
|
|
72
|
-
hasXContentTypeOptionsHeader,
|
|
73
|
-
],
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
return results;
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
80
|
-
isFileAvailable(result) {
|
|
81
|
-
if (result.response.statusCode === 404 || result.response.statusCode === 500) {
|
|
82
|
-
return false;
|
|
83
|
-
}
|
|
84
|
-
return true;
|
|
85
|
-
}
|
|
86
|
-
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
87
|
-
isCached(result) {
|
|
88
|
-
return result.response.headers.has('cache-control');
|
|
89
|
-
}
|
|
90
|
-
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
91
|
-
hasXContentTypeOptionsHeader(result) {
|
|
92
|
-
return result.response.headers.has('x-content-type-options');
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
exports.default = Image;
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const uglify_js_1 = __importDefault(require("uglify-js"));
|
|
16
|
-
const Test_1 = __importDefault(require("../Test"));
|
|
17
|
-
const request_1 = __importDefault(require("../request"));
|
|
18
|
-
const logger_1 = __importDefault(require("../logger"));
|
|
19
|
-
const functions_1 = require("../functions");
|
|
20
|
-
class JavaScript extends Test_1.default {
|
|
21
|
-
constructor() {
|
|
22
|
-
super(...arguments);
|
|
23
|
-
this.name = 'JavaScript';
|
|
24
|
-
}
|
|
25
|
-
test(_a) {
|
|
26
|
-
return __awaiter(this, arguments, void 0, function* ({ url }) {
|
|
27
|
-
logger_1.default.info(`Starting ${this.constructor.name} test...`);
|
|
28
|
-
const response = yield request_1.default.get(url);
|
|
29
|
-
const html = yield (0, functions_1.parseHtml)(response);
|
|
30
|
-
const scripts = (0, functions_1.getScripts)(html);
|
|
31
|
-
const subTests = yield this.check(scripts);
|
|
32
|
-
return {
|
|
33
|
-
status: this.getStatus(subTests.map(test => test.status)),
|
|
34
|
-
title: this.constructor.name,
|
|
35
|
-
description: '',
|
|
36
|
-
results: subTests,
|
|
37
|
-
};
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
check(scripts) {
|
|
41
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
const results = [];
|
|
43
|
-
for (const script of scripts) {
|
|
44
|
-
const filename = script.substr(script.lastIndexOf('/') + 1);
|
|
45
|
-
logger_1.default.verbose(`Checking ${filename}...`);
|
|
46
|
-
const result = yield request_1.default.get(script);
|
|
47
|
-
const isFileAvailabe = {
|
|
48
|
-
status: this.isFileAvailable(result) ? 'SUCCESS' : 'ERROR',
|
|
49
|
-
title: 'Available',
|
|
50
|
-
description: '',
|
|
51
|
-
};
|
|
52
|
-
const isCached = {
|
|
53
|
-
status: this.isCached(result) ? 'SUCCESS' : 'ERROR',
|
|
54
|
-
title: 'Cached',
|
|
55
|
-
description: '',
|
|
56
|
-
};
|
|
57
|
-
const hasXContentTypeOptionsHeader = {
|
|
58
|
-
status: this.hasXContentTypeOptionsHeader(result) ? 'SUCCESS' : 'WARNING',
|
|
59
|
-
title: 'X-Content-Type-Options',
|
|
60
|
-
description: '',
|
|
61
|
-
};
|
|
62
|
-
const isMinified = {
|
|
63
|
-
status: this.isMinified(result) ? 'SUCCESS' : 'WARNING',
|
|
64
|
-
title: 'Minified',
|
|
65
|
-
description: '',
|
|
66
|
-
};
|
|
67
|
-
const hasConsoleLogs = {
|
|
68
|
-
status: this.hasConsoleLogs(result) ? 'SUCCESS' : 'WARNING',
|
|
69
|
-
title: 'ConsoleLogs',
|
|
70
|
-
description: '',
|
|
71
|
-
};
|
|
72
|
-
results.push({
|
|
73
|
-
status: this.getStatus([
|
|
74
|
-
isFileAvailabe.status,
|
|
75
|
-
isCached.status,
|
|
76
|
-
hasXContentTypeOptionsHeader.status,
|
|
77
|
-
isMinified.status,
|
|
78
|
-
hasConsoleLogs.status,
|
|
79
|
-
]), // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
80
|
-
title: filename,
|
|
81
|
-
description: '',
|
|
82
|
-
results: [
|
|
83
|
-
isFileAvailabe,
|
|
84
|
-
isCached,
|
|
85
|
-
hasXContentTypeOptionsHeader,
|
|
86
|
-
isMinified,
|
|
87
|
-
hasConsoleLogs,
|
|
88
|
-
],
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
return results;
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
95
|
-
isFileAvailable(result) {
|
|
96
|
-
if (result.response.statusCode === 404 || result.response.statusCode === 500) {
|
|
97
|
-
return false;
|
|
98
|
-
}
|
|
99
|
-
return true;
|
|
100
|
-
}
|
|
101
|
-
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
102
|
-
isCached(result) {
|
|
103
|
-
return result.response.headers.has('cache-control');
|
|
104
|
-
}
|
|
105
|
-
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
106
|
-
hasXContentTypeOptionsHeader(result) {
|
|
107
|
-
return result.response.headers.has('x-content-type-options');
|
|
108
|
-
}
|
|
109
|
-
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
110
|
-
isMinified(result) {
|
|
111
|
-
const r = uglify_js_1.default.minify(result.body, { mangle: false, output: { comments: true } });
|
|
112
|
-
if (Object.prototype.hasOwnProperty.call(r, 'error')) {
|
|
113
|
-
logger_1.default.error('JavaScript syntax error!');
|
|
114
|
-
throw r.error;
|
|
115
|
-
}
|
|
116
|
-
return result.body.length /* - (result.body.length * 0.05)*/ <= r.code.length;
|
|
117
|
-
}
|
|
118
|
-
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
119
|
-
hasConsoleLogs(result) {
|
|
120
|
-
return result.body.indexOf('console.log') !== -1 && result.body.indexOf('console.error') !== -1;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
exports.default = JavaScript;
|
package/dist/src/html/index.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const Test_1 = __importDefault(require("../Test"));
|
|
16
|
-
const Image_1 = __importDefault(require("./Image"));
|
|
17
|
-
const DuplicateId_1 = __importDefault(require("./DuplicateId"));
|
|
18
|
-
const CSS_1 = __importDefault(require("./CSS"));
|
|
19
|
-
const JavaScript_1 = __importDefault(require("./JavaScript"));
|
|
20
|
-
const Anchor_1 = __importDefault(require("./Anchor"));
|
|
21
|
-
const Generator_1 = __importDefault(require("./Generator"));
|
|
22
|
-
class HTML extends Test_1.default {
|
|
23
|
-
constructor() {
|
|
24
|
-
super();
|
|
25
|
-
this.name = 'HTML';
|
|
26
|
-
this.tests = [
|
|
27
|
-
new JavaScript_1.default(),
|
|
28
|
-
new CSS_1.default(),
|
|
29
|
-
new Image_1.default(),
|
|
30
|
-
new Anchor_1.default(),
|
|
31
|
-
new DuplicateId_1.default(),
|
|
32
|
-
new Generator_1.default(),
|
|
33
|
-
];
|
|
34
|
-
}
|
|
35
|
-
test(params) {
|
|
36
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
const tests = this.getTests();
|
|
38
|
-
const results = [];
|
|
39
|
-
for (const test of tests) {
|
|
40
|
-
let result = null;
|
|
41
|
-
try {
|
|
42
|
-
result = yield test.run(params);
|
|
43
|
-
}
|
|
44
|
-
catch (_a) {
|
|
45
|
-
result = {
|
|
46
|
-
status: 'ERROR',
|
|
47
|
-
title: test.name,
|
|
48
|
-
description: 'Test failed or cannot be run!',
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
results.push(result);
|
|
52
|
-
}
|
|
53
|
-
return {
|
|
54
|
-
status: this.getStatus(results.map(result => result.status)),
|
|
55
|
-
title: this.name,
|
|
56
|
-
description: '',
|
|
57
|
-
results,
|
|
58
|
-
};
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
exports.default = HTML;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const Test_1 = __importDefault(require("../Test"));
|
|
16
|
-
const request_1 = __importDefault(require("../request"));
|
|
17
|
-
const logger_1 = __importDefault(require("../logger"));
|
|
18
|
-
class HTML extends Test_1.default {
|
|
19
|
-
constructor() {
|
|
20
|
-
super(...arguments);
|
|
21
|
-
this.name = 'HTML';
|
|
22
|
-
}
|
|
23
|
-
test(_a) {
|
|
24
|
-
return __awaiter(this, arguments, void 0, function* ({ url }) {
|
|
25
|
-
logger_1.default.info(`Starting ${this.constructor.name} test...`);
|
|
26
|
-
const response = yield request_1.default.get(url);
|
|
27
|
-
const html = response.body;
|
|
28
|
-
return {
|
|
29
|
-
status: 'SUCCESS',
|
|
30
|
-
title: this.constructor.name,
|
|
31
|
-
description: '',
|
|
32
|
-
metadata: {
|
|
33
|
-
html,
|
|
34
|
-
},
|
|
35
|
-
results: [],
|
|
36
|
-
};
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
exports.default = HTML;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const node_html_markdown_1 = require("node-html-markdown");
|
|
16
|
-
const Test_1 = __importDefault(require("../Test"));
|
|
17
|
-
const request_1 = __importDefault(require("../request"));
|
|
18
|
-
const logger_1 = __importDefault(require("../logger"));
|
|
19
|
-
class Markdown extends Test_1.default {
|
|
20
|
-
constructor() {
|
|
21
|
-
super(...arguments);
|
|
22
|
-
this.name = 'Markdown';
|
|
23
|
-
}
|
|
24
|
-
test(_a) {
|
|
25
|
-
return __awaiter(this, arguments, void 0, function* ({ url }) {
|
|
26
|
-
logger_1.default.info(`Starting ${this.constructor.name} test...`);
|
|
27
|
-
const response = yield request_1.default.get(url);
|
|
28
|
-
const html = response.body;
|
|
29
|
-
const markdown = node_html_markdown_1.NodeHtmlMarkdown.translate(html);
|
|
30
|
-
return {
|
|
31
|
-
status: 'SUCCESS',
|
|
32
|
-
title: this.constructor.name,
|
|
33
|
-
description: '',
|
|
34
|
-
metadata: {
|
|
35
|
-
markdown,
|
|
36
|
-
},
|
|
37
|
-
results: [],
|
|
38
|
-
};
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
exports.default = Markdown;
|