pagespeed-quest 0.10.0 → 0.12.0
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/CHANGELOG.md +24 -0
- package/README.ja.md +47 -0
- package/README.md +49 -0
- package/build/cli.d.ts +8 -0
- package/build/cli.js +263 -0
- package/build/command.js +3 -229
- package/build/lighthouse-summary.d.ts +3 -1
- package/build/lighthouse-summary.js +31 -46
- package/build/lighthouse.d.ts +0 -1
- package/build/lighthouse.js +6 -2
- package/build/llm.d.ts +20 -0
- package/build/llm.js +42 -0
- package/llmdocs/00-guide.md +146 -0
- package/llmdocs/10-inventory.md +157 -0
- package/llmdocs/20-experiments.md +93 -0
- package/llmdocs/30-measuring.md +158 -0
- package/llmdocs/90-commands.md +188 -0
- package/package.json +13 -7
- package/scripts/build-llm-docs.js +79 -0
- package/scripts/postinstall.js +2 -3
- package/scripts/validate-plugin-skills.js +117 -0
- package/build/docs/assets/css/main.css +0 -1
- package/build/docs/assets/images/icons.png +0 -0
- package/build/docs/assets/images/icons@2x.png +0 -0
- package/build/docs/assets/images/widgets.png +0 -0
- package/build/docs/assets/images/widgets@2x.png +0 -0
- package/build/docs/assets/js/main.js +0 -51
- package/build/docs/classes/inventoryrepository.html +0 -305
- package/build/docs/classes/playbackproxy.html +0 -524
- package/build/docs/classes/proxy.html +0 -474
- package/build/docs/classes/recordingproxy.html +0 -532
- package/build/docs/classes/testproxy.html +0 -497
- package/build/docs/classes/throttle.html +0 -425
- package/build/docs/classes/throttlinglog.html +0 -174
- package/build/docs/classes/throttlingtransform.html +0 -6297
- package/build/docs/globals.html +0 -1131
- package/build/docs/index.html +0 -348
- package/build/docs/interfaces/beautifyresult.html +0 -174
- package/build/docs/interfaces/contentencodingpair.html +0 -174
- package/build/docs/interfaces/inventory.html +0 -174
- package/build/docs/interfaces/lighthouseoptions.html +0 -230
- package/build/docs/interfaces/playbacktransaction.html +0 -272
- package/build/docs/interfaces/proxyoptions.html +0 -423
- package/build/docs/interfaces/recordingsession.html +0 -174
- package/build/docs/interfaces/recordingtransaction.html +0 -286
- package/build/docs/interfaces/resource.html +0 -314
- package/build/docs/interfaces/transaction.html +0 -258
- package/build/docs/interfaces/withproxyoptions.html +0 -418
- package/build/logger.d.ts +0 -2
- package/build/logger.js +0 -15
- package/build/proxy.d.ts +0 -35
- package/build/proxy.js +0 -96
- package/build/throttling.d.ts +0 -33
- package/build/throttling.js +0 -89
package/build/throttling.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { Transform } from 'stream';
|
|
2
|
-
export class ThrottlingLog {
|
|
3
|
-
ms;
|
|
4
|
-
bytes;
|
|
5
|
-
}
|
|
6
|
-
export class Throttle {
|
|
7
|
-
flushIntervalMs;
|
|
8
|
-
limitBytes;
|
|
9
|
-
currentBytes = 0;
|
|
10
|
-
interval;
|
|
11
|
-
logs = [];
|
|
12
|
-
constructor(limitBytes, flushIntervalMs) {
|
|
13
|
-
this.limitBytes = limitBytes;
|
|
14
|
-
this.flushIntervalMs = flushIntervalMs ?? 100;
|
|
15
|
-
}
|
|
16
|
-
static fromMbps(mbps, flushIntervalMs) {
|
|
17
|
-
const bytesPerSec = (mbps * 1024 * 1024) / 8;
|
|
18
|
-
const limitBytes = Math.floor((bytesPerSec * flushIntervalMs) / 1000);
|
|
19
|
-
return new Throttle(limitBytes, flushIntervalMs);
|
|
20
|
-
}
|
|
21
|
-
computeCapacity() {
|
|
22
|
-
const consumed = Math.min(this.currentBytes, this.limitBytes);
|
|
23
|
-
const carryover = this.currentBytes - consumed;
|
|
24
|
-
return { consumed, carryover };
|
|
25
|
-
}
|
|
26
|
-
start() {
|
|
27
|
-
this.interval = setInterval(() => {
|
|
28
|
-
const c = this.computeCapacity();
|
|
29
|
-
this.logs.push({
|
|
30
|
-
ms: Date.now(),
|
|
31
|
-
bytes: c.consumed,
|
|
32
|
-
});
|
|
33
|
-
this.currentBytes = c.carryover;
|
|
34
|
-
}, this.flushIntervalMs);
|
|
35
|
-
}
|
|
36
|
-
stop() {
|
|
37
|
-
if (this.interval)
|
|
38
|
-
clearInterval(this.interval);
|
|
39
|
-
}
|
|
40
|
-
checkAndStack(bytes) {
|
|
41
|
-
if (!this.interval)
|
|
42
|
-
throw new Error('Throttle is not started');
|
|
43
|
-
if (this.currentBytes >= this.limitBytes) {
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
|
-
this.currentBytes += bytes;
|
|
47
|
-
return true;
|
|
48
|
-
}
|
|
49
|
-
simpleReport(unitMs = 1000) {
|
|
50
|
-
const bySec = new Map();
|
|
51
|
-
for (const log of this.logs) {
|
|
52
|
-
const unit = Math.floor(log.ms / unitMs);
|
|
53
|
-
if (!bySec.has(unit))
|
|
54
|
-
bySec.set(unit, 0);
|
|
55
|
-
bySec.set(unit, bySec.get(unit) + log.bytes);
|
|
56
|
-
}
|
|
57
|
-
const values = Array.from(bySec.values());
|
|
58
|
-
const maxBytesPerUnit = Math.max(...values);
|
|
59
|
-
const avgBytesPerUnit = Math.floor(values.reduce((a, b) => a + b, 0) / bySec.size) / 1024 / 1024;
|
|
60
|
-
return {
|
|
61
|
-
maxBytesPerUnit,
|
|
62
|
-
avgBytesPerUnit,
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
export class ThrottlingTransform extends Transform {
|
|
67
|
-
throttle;
|
|
68
|
-
retryIntervalMs;
|
|
69
|
-
constructor(throttle, retryIntervalMs) {
|
|
70
|
-
super();
|
|
71
|
-
this.throttle = throttle;
|
|
72
|
-
this.retryIntervalMs = retryIntervalMs;
|
|
73
|
-
}
|
|
74
|
-
_transform(chunk, _, done) {
|
|
75
|
-
if (this.throttle.checkAndStack(chunk.length)) {
|
|
76
|
-
this.push(chunk);
|
|
77
|
-
done();
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
const interval = setInterval(() => {
|
|
81
|
-
if (this.throttle.checkAndStack(chunk.length)) {
|
|
82
|
-
clearInterval(interval);
|
|
83
|
-
this.push(chunk);
|
|
84
|
-
done();
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyb3R0bGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90aHJvdHRsaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sUUFBUSxDQUFBO0FBRXJELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLEVBQUUsQ0FBUTtJQUNWLEtBQUssQ0FBUTtDQUNkO0FBRUQsTUFBTSxPQUFPLFFBQVE7SUFDbkIsZUFBZSxDQUFTO0lBQ3hCLFVBQVUsQ0FBUztJQUNuQixZQUFZLEdBQUcsQ0FBQyxDQUFBO0lBQ2hCLFFBQVEsQ0FBaUM7SUFDekMsSUFBSSxHQUFvQixFQUFFLENBQUE7SUFFMUIsWUFBWSxVQUFrQixFQUFFLGVBQXdCO1FBQ3RELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFBO1FBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxJQUFJLEdBQUcsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFZLEVBQUUsZUFBd0I7UUFDcEQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUM1QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO1FBQ3JFLE9BQU8sSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFBO0lBQ2xELENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUM3RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQTtRQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFBO0lB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
|