cwv-logger
web-vitalsから取得した Core Web Vitals のメトリクスをデータとして使いやすい形式に変換して出力するライブラリです。
Installation
yarn add -D @openameba/cwv-logger
or
npm i --save-dev @openameba/cwv-logger
Usage
const reportPerformance = () => {
const startTime = Date.now();
import("@openameba/cwv-logger").then(
({ reportCLS, reportFID, reportLCP, reportTTFB, reportINP }) => {
reportCLS(
({
metricsName,
metricsValue,
networkType,
selectorName,
rectDiff,
}) => {
firebase
.performance()
.trace(metricsName)
.record(startTime, metricsValue, {
selectorName,
networkType,
rectDiff,
});
},
{
reportAllChanges: false,
durationThreshold: 40,
}
);
reportFID(({ metricsName, metricsValue, networkType, selectorName }) => {
firebase
.performance()
.trace(metricsName)
.record(startTime, metricsValue, {
selectorName,
networkType,
});
});
reportLCP(({ metricsName, metricsValue, networkType, selectorName }) => {
firebase
.performance()
.trace(metricsName)
.record(startTime, metricsValue, {
selectorName,
networkType,
});
});
reportTTFB(({ metricsName, metricsValue, networkType }) => {
firebase
.performance()
.trace(metricsName)
.record(startTime, metricsValue, {
networkType,
});
});
reportINP(
({ metricsName, metricsValue, networkType, selectorName }) => {
firebase
.performance()
.trace(metricsName)
.record(startTime, metricsValue, {
selectorName,
networkType,
});
},
{
reportAllChanges: false,
durationThreshold: 40,
}
);
}
);
};
Supported Metrics
Report params
type ReportParams = {
metricsName: "CLS" | "LCP" | "FID" | "TTFB" | "INP";
metricsValue: number;
networkType: string;
country?: string;
selectorName?: string;
rectDiff?: string;
};
リリースフロー
main
またはbeta
ブランチにマージすることで自動的にリリースされます。
リリースが完了するとリリースノートも自動的に生成されます。
基本はmain
ブランチにマージします。
実験的な機能や大きな変更を含む場合に、beta
ブランチを通して段階的にリリースします。