preload-links-by-lighthouse
Version:
Generate html with embedded preload links using lighthouse
39 lines • 1.56 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
define(["require", "exports", "chrome-launcher", "lighthouse"], factory);
}
})(function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.auditNetworkRequest = void 0;
const chrome_launcher_1 = require("chrome-launcher");
const lighthouse_1 = __importDefault(require("lighthouse"));
const DEFAULT_OPTIONS = {
output: 'json',
onlyAudits: ['network-requests'],
};
async function auditNetworkRequest(url, lighthouseOptions) {
const chrome = await chrome_launcher_1.launch({ chromeFlags: ['--headless'] });
const report = await lighthouse_1.default(url, {
...DEFAULT_OPTIONS,
...lighthouseOptions,
port: chrome.port,
});
await chrome.kill();
if (report === undefined) {
throw new Error('Fail to generate report by lighthouse');
}
const result = report.lhr;
const items = result.audits['network-requests'].details.items;
return items;
}
exports.auditNetworkRequest = auditNetworkRequest;
});
//# sourceMappingURL=lighthouse.js.map