anta
Version:
CLI tool and lib to gather app audits via [Lighthouse](https://github.com/GoogleChrome/lighthouse/).
91 lines • 6.41 kB
JavaScript
;
// Copyright 2016 Google Inc. All Rights Reserved.
// Licensed under the Apache License, Version 2.0. See LICENSE
Object.defineProperty(exports, "__esModule", { value: true });
const metricsDefinitions = require('lighthouse/lighthouse-core/lib/traces/pwmetrics-events.js').metricsDefinitions;
const metricsIds = {
NAVSTART: 'navstart',
TTFCP: 'ttfcp',
TTFMP: 'ttfmp',
PSI: 'psi',
FV: 'fv',
VC85: 'vc85',
VC100: 'vc100',
TTI: 'tti',
TTFI: 'ttfi',
TTCI: 'ttci',
EndOfATrace: 'eot',
OnLoad: 'onload'
};
module.exports = {
hiddenMetrics: [
metricsIds.FV,
metricsIds.VC100,
metricsIds.VC85,
metricsIds.EndOfATrace,
metricsIds.OnLoad,
metricsIds.TTI,
metricsIds.NAVSTART
],
ids: metricsIds,
prepareData
};
const checkAudits = (audits) => Object.keys(audits).forEach(key => {
const debugString = audits[key].debugString;
if (audits[key].debugString)
console.log(`${debugString} Audit key: ${key}`);
});
function prepareData(res) {
const audits = res.audits;
checkAudits(audits);
const colorP0 = 'yellow';
const colorP2 = 'green';
const colorVisual = 'blue';
const timings = [];
const navStart = metricsDefinitions.find(def => def.id === metricsIds.NAVSTART);
const timestamps = [{
title: navStart.name,
id: navStart.id,
timestamp: navStart.getTs(audits)
}];
metricsDefinitions
.filter(def => def.id !== metricsIds.NAVSTART)
.filter(def => def.id !== metricsIds.TTI
&& def.id !== metricsIds.OnLoad
&& def.id !== metricsIds.EndOfATrace)
.forEach(metric => {
const resolvedMetric = {
title: metric.name,
id: metric.id,
timestamp: metric.getTs(audits),
timing: (metric.getTs(audits) - navStart.getTs(audits)) / 1000,
color: colorVisual
};
switch (metric.id) {
case metricsIds.TTFCP:
case metricsIds.TTFMP:
resolvedMetric.color = colorP2;
break;
case metricsIds.TTFI:
case metricsIds.TTCI:
resolvedMetric.color = colorP0;
break;
}
timings.push(resolvedMetric);
});
return {
audits,
reportCategories: res.reportCategories,
reportGroups: res.reportGroups,
runtimeConfig: res.runtimeConfig,
runWarnings: res.runWarnings,
userAgent: res.userAgent,
timings,
timestamps,
generatedTime: res.generatedTime,
lighthouseVersion: res.lighthouseVersion,
initialUrl: res.initialUrl,
url: res.url
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm1ldHJpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGtEQUFrRDtBQUNsRCw4REFBOEQ7O0FBTTlELE1BQU0sa0JBQWtCLEdBQXdCLE9BQU8sQ0FBQywyREFBMkQsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO0FBRXhJLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLEtBQUssRUFBRSxPQUFPO0lBQ2QsS0FBSyxFQUFFLE9BQU87SUFDZCxHQUFHLEVBQUUsS0FBSztJQUNWLEVBQUUsRUFBRSxJQUFJO0lBQ1IsSUFBSSxFQUFFLE1BQU07SUFDWixLQUFLLEVBQUUsT0FBTztJQUNkLEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsTUFBTTtJQUNaLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLE1BQU0sRUFBRSxRQUFRO0NBQ2pCLENBQUM7QUFFRixNQUFNLENBQUMsT0FBTyxHQUFHO0lBQ2YsYUFBYSxFQUFFO1FBQ2IsVUFBVSxDQUFDLEVBQUU7UUFDYixVQUFVLENBQUMsS0FBSztRQUNoQixVQUFVLENBQUMsSUFBSTtRQUNmLFVBQVUsQ0FBQyxXQUFXO1FBQ3RCLFVBQVUsQ0FBQyxNQUFNO1FBQ2pCLFVBQVUsQ0FBQyxHQUFHO1FBQ2QsVUFBVSxDQUFDLFFBQVE7S0FDcEI7SUFDRCxHQUFHLEVBQUUsVUFBVTtJQUNmLFdBQVc7Q0FDWixDQUFDO0FBRUYsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUF3QixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtJQUNsRixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQzVDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxX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