squally-reporter 0.7.0 → 0.8.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/README.md +44 -8
- package/dist/index.d.ts +32 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +173 -5
- package/dist/index.js.map +1 -1
- package/dist/trace-console.d.ts +42 -0
- package/dist/trace-console.d.ts.map +1 -0
- package/dist/trace-console.js +173 -0
- package/dist/trace-console.js.map +1 -0
- package/dist/trace-zip.d.ts +23 -0
- package/dist/trace-zip.d.ts.map +1 -0
- package/dist/trace-zip.js +132 -0
- package/dist/trace-zip.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -52,18 +52,40 @@ reporter: [
|
|
|
52
52
|
That's it - run your tests as usual (`npx playwright test`) and results will
|
|
53
53
|
be sent to Squally after the run finishes.
|
|
54
54
|
|
|
55
|
-
##
|
|
55
|
+
## Artifact upload (screenshot, trace, browser console)
|
|
56
56
|
|
|
57
57
|
If your `playwright.config.ts` captures screenshots or traces, the reporter
|
|
58
58
|
uploads them to Squally so they show up next to the failing test in the
|
|
59
59
|
dashboard - no separate setup beyond the two env vars above.
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
61
|
+
Three kinds are uploaded:
|
|
62
|
+
|
|
63
|
+
| Kind | Where it comes from |
|
|
64
|
+
| --- | --- |
|
|
65
|
+
| **Screenshot** | the file Playwright writes for a failed attempt |
|
|
66
|
+
| **Trace** | the trace zip Playwright writes |
|
|
67
|
+
| **Browser console** | read out of that trace zip by this reporter |
|
|
68
|
+
|
|
69
|
+
**The browser console needs a trace.** It is not something Playwright hands a
|
|
70
|
+
reporter: `result.stdout`/`stderr` are the output of the *Node* process - what
|
|
71
|
+
your test file printed - while what the *page* printed only exists inside the
|
|
72
|
+
trace. So the reporter opens the trace and reads it out, which means an
|
|
73
|
+
attempt with no trace has no browser console, and nothing can change that but
|
|
74
|
+
turning tracing on. Squally's attempt page says which of the two it is rather
|
|
75
|
+
than showing an empty section.
|
|
76
|
+
|
|
77
|
+
Supported trace schema versions: **5 to 10**, which covers Playwright 1.30
|
|
78
|
+
through 1.62 (1.62 writes version 8). A trace outside that range is left alone
|
|
79
|
+
and the reporter prints one warning naming the version - it never uploads an
|
|
80
|
+
empty console file, because "no messages" and "this reporter could not read
|
|
81
|
+
it" must not look the same in the dashboard.
|
|
82
|
+
|
|
83
|
+
**Only from attempts worth looking at:** artifacts are uploaded only for
|
|
84
|
+
attempts that **failed**, or that **needed a retry** (even if that retry then
|
|
85
|
+
passed) - never for an attempt that passed on its first try, regardless of how
|
|
86
|
+
`screenshot`/`trace` are configured. Nobody looks at a screenshot of a test
|
|
87
|
+
that just passed, and uploading one anyway would only eat into your
|
|
88
|
+
organization's storage for no benefit.
|
|
67
89
|
|
|
68
90
|
**You need to actually enable capture in `playwright.config.ts`** - without
|
|
69
91
|
it, Playwright doesn't produce any attachments, so there's nothing for the
|
|
@@ -93,7 +115,13 @@ release of it:
|
|
|
93
115
|
silently missing.
|
|
94
116
|
- **A total storage cap per organization, depending on your Squally plan.**
|
|
95
117
|
Once it is reached, further uploads are rejected the same way until you free
|
|
96
|
-
up space or upgrade.
|
|
118
|
+
up space or upgrade. Note that a fully instrumented suite now produces up to
|
|
119
|
+
three artifacts per failed attempt rather than two.
|
|
120
|
+
- The browser console is a text file of a few KB - it is extracted from the
|
|
121
|
+
trace you are already uploading, so it adds no capture cost to your run.
|
|
122
|
+
- **Your test's own `stdout`/`stderr` is cut at 16 KB** before it is sent. That
|
|
123
|
+
is this reporter's own limit, not Squally's, and it applies whether or not
|
|
124
|
+
you capture artifacts at all.
|
|
97
125
|
- Two minutes per upload, and 30 seconds for the calls that surround it. An
|
|
98
126
|
unreachable or very slow server means a skipped upload and a `console.warn`,
|
|
99
127
|
not a CI job waiting indefinitely.
|
|
@@ -231,6 +259,14 @@ written two ways still compares equal: it is lowercased, and a leading `v` or a
|
|
|
231
259
|
`v1.2.0` is stored as `1.2.0`. The reporter says so once per run when it
|
|
232
260
|
happens, so a value that looks different in the dashboard is not a mystery.
|
|
233
261
|
|
|
262
|
+
## Troubleshooting
|
|
263
|
+
|
|
264
|
+
Set `SQUALLY_DEBUG=1` to print detail that is otherwise kept quiet - currently
|
|
265
|
+
the browser-console extraction: how many messages were found, or that an
|
|
266
|
+
attempt's trace held none. Everything that is *not* ordinary (a trace that
|
|
267
|
+
cannot be read, an unsupported schema version, a rejected upload) is printed
|
|
268
|
+
without it.
|
|
269
|
+
|
|
234
270
|
## Support
|
|
235
271
|
|
|
236
272
|
Found a bug or have a question? Please open an issue on
|
package/dist/index.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ interface AppendResultEntry {
|
|
|
32
32
|
browserName: string | null;
|
|
33
33
|
errorContext: string | null;
|
|
34
34
|
}
|
|
35
|
-
type ArtifactType = "screenshot" | "trace";
|
|
35
|
+
type ArtifactType = "screenshot" | "trace" | "console";
|
|
36
36
|
declare function truncate(value: string, max: number): string;
|
|
37
37
|
declare function truncateOrNull(value: string | null, max: number): string | null;
|
|
38
38
|
/**
|
|
@@ -64,7 +64,32 @@ declare function resolveTestedRevision(): ResolvedRevision | null;
|
|
|
64
64
|
declare function toPosixPath(p: string): string;
|
|
65
65
|
declare function stripAnsi(value: string): string;
|
|
66
66
|
declare function maskSecrets(value: string): string;
|
|
67
|
-
|
|
67
|
+
/**
|
|
68
|
+
* The console output to send, and the size it had before the cut.
|
|
69
|
+
*
|
|
70
|
+
* RETURNS A PAIR SINCE 17.09., the same shape squally-app's own
|
|
71
|
+
* prepareConsoleOutput returns (lib/ingest-v2-core.ts). The reason is a gap
|
|
72
|
+
* nobody could see from either side alone: the app records
|
|
73
|
+
* consoleOutputOriginalBytes so a truncated capture says so on the page, and
|
|
74
|
+
* it derives that number from the text it RECEIVES - which this reporter has
|
|
75
|
+
* already cut to 16 KiB. The app therefore records NULL for every
|
|
76
|
+
* reporter-sent row and the page says nothing was cut, while something was.
|
|
77
|
+
*
|
|
78
|
+
* `truncatedFromBytes` is the masked size before the cut, null when nothing
|
|
79
|
+
* was cut - the optional-field shape the wire uses for expectedFailure.
|
|
80
|
+
*
|
|
81
|
+
* NOT SENT YET, and deliberately not: squally-app's v2 result schema has no
|
|
82
|
+
* field for it (checked in lib/ingest-v2-contract.ts, resultSchema), and that
|
|
83
|
+
* schema does not use .strict(), so zod would silently STRIP an unknown key.
|
|
84
|
+
* Sending it today would look done and change nothing. The receiving side goes
|
|
85
|
+
* first in this project - that is how the console artifact itself shipped -
|
|
86
|
+
* so the value is computed and available here, and the wire field is a
|
|
87
|
+
* squally-app change this release reports rather than pre-empts.
|
|
88
|
+
*/
|
|
89
|
+
declare function prepareConsoleOutput(value: string | null): {
|
|
90
|
+
text: string | null;
|
|
91
|
+
truncatedFromBytes: number | null;
|
|
92
|
+
};
|
|
68
93
|
declare function mapErrors(errors: readonly TestError[]): AppendErrorEntry[] | undefined;
|
|
69
94
|
declare function attemptQualifiesForArtifacts(mappedStatus: AppendResultEntry["status"], retryCount: number): boolean;
|
|
70
95
|
declare function artifactKey(testName: string, filePath: string, retryCount: number, repeatIndex: number, type: ArtifactType): string;
|
|
@@ -84,6 +109,11 @@ export default class SquallyReporter implements Reporter {
|
|
|
84
109
|
private runConfig;
|
|
85
110
|
private buffer;
|
|
86
111
|
private artifacts;
|
|
112
|
+
/** Trace schema versions already warned about - ONCE per run, not per
|
|
113
|
+
* attempt. A suite failing 200 tests under a Playwright this reporter does
|
|
114
|
+
* not know would otherwise print 200 identical paragraphs and teach the
|
|
115
|
+
* reader to scroll past the one thing worth reading. */
|
|
116
|
+
private warnedTraceVersions;
|
|
87
117
|
/**
|
|
88
118
|
* Every result this shard produced, counted where it is produced (0.6.0).
|
|
89
119
|
*
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAS,EACT,UAAU,EACX,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -11,6 +11,7 @@ const promises_1 = require("node:fs/promises");
|
|
|
11
11
|
const node_os_1 = require("node:os");
|
|
12
12
|
const node_path_1 = __importDefault(require("node:path"));
|
|
13
13
|
const undici_1 = require("undici");
|
|
14
|
+
const trace_console_1 = require("./trace-console");
|
|
14
15
|
// Mirrors squally-app's ingest contract (lib/ingest-contract.ts,
|
|
15
16
|
// FIELD_LIMITS). Kept as a copy on purpose - the reporter ships independently
|
|
16
17
|
// of the app and cannot import from it - which means this table has to be
|
|
@@ -566,15 +567,41 @@ function maskSecrets(value) {
|
|
|
566
567
|
// server enforces this regardless of what the reporter already did, but
|
|
567
568
|
// doing it here too means a run never sends more than it needs to).
|
|
568
569
|
const CONSOLE_OUTPUT_MAX_BYTES = 16 * 1024;
|
|
570
|
+
/**
|
|
571
|
+
* The console output to send, and the size it had before the cut.
|
|
572
|
+
*
|
|
573
|
+
* RETURNS A PAIR SINCE 17.09., the same shape squally-app's own
|
|
574
|
+
* prepareConsoleOutput returns (lib/ingest-v2-core.ts). The reason is a gap
|
|
575
|
+
* nobody could see from either side alone: the app records
|
|
576
|
+
* consoleOutputOriginalBytes so a truncated capture says so on the page, and
|
|
577
|
+
* it derives that number from the text it RECEIVES - which this reporter has
|
|
578
|
+
* already cut to 16 KiB. The app therefore records NULL for every
|
|
579
|
+
* reporter-sent row and the page says nothing was cut, while something was.
|
|
580
|
+
*
|
|
581
|
+
* `truncatedFromBytes` is the masked size before the cut, null when nothing
|
|
582
|
+
* was cut - the optional-field shape the wire uses for expectedFailure.
|
|
583
|
+
*
|
|
584
|
+
* NOT SENT YET, and deliberately not: squally-app's v2 result schema has no
|
|
585
|
+
* field for it (checked in lib/ingest-v2-contract.ts, resultSchema), and that
|
|
586
|
+
* schema does not use .strict(), so zod would silently STRIP an unknown key.
|
|
587
|
+
* Sending it today would look done and change nothing. The receiving side goes
|
|
588
|
+
* first in this project - that is how the console artifact itself shipped -
|
|
589
|
+
* so the value is computed and available here, and the wire field is a
|
|
590
|
+
* squally-app change this release reports rather than pre-empts.
|
|
591
|
+
*/
|
|
569
592
|
function prepareConsoleOutput(value) {
|
|
570
593
|
if (value === null)
|
|
571
|
-
return null;
|
|
594
|
+
return { text: null, truncatedFromBytes: null };
|
|
572
595
|
const masked = maskSecrets(value);
|
|
573
596
|
const bytes = Buffer.from(masked, "utf8");
|
|
574
|
-
if (bytes.byteLength <= CONSOLE_OUTPUT_MAX_BYTES)
|
|
575
|
-
return masked;
|
|
597
|
+
if (bytes.byteLength <= CONSOLE_OUTPUT_MAX_BYTES) {
|
|
598
|
+
return { text: masked, truncatedFromBytes: null };
|
|
599
|
+
}
|
|
576
600
|
const cut = bytes.subarray(0, CONSOLE_OUTPUT_MAX_BYTES).toString("utf8");
|
|
577
|
-
return
|
|
601
|
+
return {
|
|
602
|
+
text: cut.endsWith("�") ? cut.slice(0, -1) : cut,
|
|
603
|
+
truncatedFromBytes: bytes.byteLength,
|
|
604
|
+
};
|
|
578
605
|
}
|
|
579
606
|
// --- errors[] (spec section 1.3) --------------------------------------------
|
|
580
607
|
//
|
|
@@ -710,6 +737,102 @@ async function runWithConcurrencyLimit(items, limit, worker) {
|
|
|
710
737
|
// (mapStatus above collapses those down) - retryCount > 0 additionally
|
|
711
738
|
// covers a passed-on-retry attempt, since seeing what an earlier, failing
|
|
712
739
|
// attempt looked like is still useful even if the test eventually passed.
|
|
740
|
+
/**
|
|
741
|
+
* Detail that is only interesting when something looks wrong, off by default.
|
|
742
|
+
*
|
|
743
|
+
* ADDED WITH THE CONSOLE ARTIFACT (17.09.), because that path has one outcome
|
|
744
|
+
* that is both completely ordinary and worth being able to see: an attempt
|
|
745
|
+
* whose page printed nothing uploads nothing, and a customer asking "where is
|
|
746
|
+
* my browser console" needs a way to tell that from a failure. Everything that
|
|
747
|
+
* is NOT ordinary on that path warns unconditionally instead.
|
|
748
|
+
*
|
|
749
|
+
* One variable, no levels: this package logs almost nothing by design, and a
|
|
750
|
+
* level system would be more machinery than it has output.
|
|
751
|
+
*/
|
|
752
|
+
function debugLog(message) {
|
|
753
|
+
if (process.env.SQUALLY_DEBUG)
|
|
754
|
+
console.log(`[squally-reporter] ${message}`);
|
|
755
|
+
}
|
|
756
|
+
/** Traces above this size are left unread rather than inflated in onTestEnd. */
|
|
757
|
+
const MAX_TRACE_BYTES_FOR_CONSOLE = 64 * 1024 * 1024;
|
|
758
|
+
/** The console file is written beside the trace, so Playwright's own output-dir
|
|
759
|
+
* cleanup removes it with everything else that test produced. */
|
|
760
|
+
const CONSOLE_ARTIFACT_FILENAME = "browser-console.txt";
|
|
761
|
+
/**
|
|
762
|
+
* Turns one trace into a console artifact on disk, or says why it did not.
|
|
763
|
+
*
|
|
764
|
+
* SYNCHRONOUS, like the statSync beside it and for the same reason: Playwright
|
|
765
|
+
* does not await onTestEnd, so anything async here would race onEnd() reading
|
|
766
|
+
* this.artifacts. Measured on a real 1.62 trace: 7 KB zip, inflate and parse
|
|
767
|
+
* under a millisecond; the cap above is what keeps a pathological 50 MB trace
|
|
768
|
+
* from turning that into a pause the customer notices.
|
|
769
|
+
*
|
|
770
|
+
* FAILURE MODES, and what each one does. None of them can be a skipReason sent
|
|
771
|
+
* to presign: that route decides its own reasons (not_found, file_too_large,
|
|
772
|
+
* cap_exceeded) and takes none from the client - checked in squally-app's
|
|
773
|
+
* presignPayloadSchema, not assumed. So every failure here is a LOCAL skip,
|
|
774
|
+
* and the difference between them is what gets logged:
|
|
775
|
+
*
|
|
776
|
+
* zip unreadable / no .trace -> warn. Something produced a trace this
|
|
777
|
+
* cannot open, and that is worth a line in
|
|
778
|
+
* the customer's log even though their run is
|
|
779
|
+
* unaffected.
|
|
780
|
+
* version unsupported -> warn ONCE per run, naming the version. The
|
|
781
|
+
* loudest case on purpose: it means this
|
|
782
|
+
* reporter is too old for the Playwright that
|
|
783
|
+
* produced the trace, and the silent
|
|
784
|
+
* alternative - uploading nothing and saying
|
|
785
|
+
* nothing - is the exact shape of the outage
|
|
786
|
+
* that cost six days in September.
|
|
787
|
+
* no console events -> debug only. An attempt whose page printed
|
|
788
|
+
* nothing is ordinary; the app already words
|
|
789
|
+
* the absence.
|
|
790
|
+
*/
|
|
791
|
+
function consoleArtifactFor(tracePath, warnedVersions) {
|
|
792
|
+
let zip;
|
|
793
|
+
try {
|
|
794
|
+
const size = (0, node_fs_1.statSync)(tracePath).size;
|
|
795
|
+
if (size > MAX_TRACE_BYTES_FOR_CONSOLE) {
|
|
796
|
+
console.warn(`[squally-reporter] Trace is ${Math.round(size / 1024 / 1024)} MB - skipping browser console extraction for this attempt.`);
|
|
797
|
+
return null;
|
|
798
|
+
}
|
|
799
|
+
zip = (0, node_fs_1.readFileSync)(tracePath);
|
|
800
|
+
}
|
|
801
|
+
catch (err) {
|
|
802
|
+
console.warn(`[squally-reporter] Could not read the trace for browser console extraction: ${err?.message ?? err}`);
|
|
803
|
+
return null;
|
|
804
|
+
}
|
|
805
|
+
const extraction = (0, trace_console_1.extractBrowserConsole)(zip);
|
|
806
|
+
if (extraction.status === "unsupported-version") {
|
|
807
|
+
if (!warnedVersions.has(extraction.version)) {
|
|
808
|
+
warnedVersions.add(extraction.version);
|
|
809
|
+
console.warn(`[squally-reporter] Playwright trace schema version ${extraction.version} is outside the range this reporter ` +
|
|
810
|
+
`has been verified against (${trace_console_1.TRACE_VERSION_MIN}-${trace_console_1.TRACE_VERSION_MAX}) - the browser console is NOT being ` +
|
|
811
|
+
"uploaded for this run. Screenshots and traces are unaffected. Upgrading squally-reporter should resolve it.");
|
|
812
|
+
}
|
|
813
|
+
return null;
|
|
814
|
+
}
|
|
815
|
+
if (extraction.status === "unreadable") {
|
|
816
|
+
console.warn(`[squally-reporter] Could not read the browser console out of the trace (${extraction.reason}) - ` +
|
|
817
|
+
"screenshot and trace are unaffected.");
|
|
818
|
+
return null;
|
|
819
|
+
}
|
|
820
|
+
if (extraction.status === "empty") {
|
|
821
|
+
// Not a warning: the page simply printed nothing.
|
|
822
|
+
debugLog(`browser console: no messages in ${tracePath}`);
|
|
823
|
+
return null;
|
|
824
|
+
}
|
|
825
|
+
const consolePath = node_path_1.default.join(node_path_1.default.dirname(tracePath), CONSOLE_ARTIFACT_FILENAME);
|
|
826
|
+
try {
|
|
827
|
+
(0, node_fs_1.writeFileSync)(consolePath, extraction.text, "utf8");
|
|
828
|
+
}
|
|
829
|
+
catch (err) {
|
|
830
|
+
console.warn(`[squally-reporter] Could not write the browser console file: ${err?.message ?? err}`);
|
|
831
|
+
return null;
|
|
832
|
+
}
|
|
833
|
+
debugLog(`browser console: ${extraction.messageCount} message(s) -> ${consolePath}`);
|
|
834
|
+
return consolePath;
|
|
835
|
+
}
|
|
713
836
|
function attemptQualifiesForArtifacts(mappedStatus, retryCount) {
|
|
714
837
|
return mappedStatus === "failed" || retryCount > 0;
|
|
715
838
|
}
|
|
@@ -847,6 +970,11 @@ class SquallyReporter {
|
|
|
847
970
|
this.projectName = null;
|
|
848
971
|
this.buffer = [];
|
|
849
972
|
this.artifacts = [];
|
|
973
|
+
/** Trace schema versions already warned about - ONCE per run, not per
|
|
974
|
+
* attempt. A suite failing 200 tests under a Playwright this reporter does
|
|
975
|
+
* not know would otherwise print 200 identical paragraphs and teach the
|
|
976
|
+
* reader to scroll past the one thing worth reading. */
|
|
977
|
+
this.warnedTraceVersions = new Set();
|
|
850
978
|
/**
|
|
851
979
|
* Every result this shard produced, counted where it is produced (0.6.0).
|
|
852
980
|
*
|
|
@@ -1112,6 +1240,12 @@ class SquallyReporter {
|
|
|
1112
1240
|
// false, which is the right answer for a runner that cannot tell us.
|
|
1113
1241
|
const expectedFailure = test.expectedStatus === "failed";
|
|
1114
1242
|
const errorContextAttachment = result.attachments.find((attachment) => attachment.name === "error-context");
|
|
1243
|
+
// Computed once, here: the text goes on the wire and the pre-cut size is
|
|
1244
|
+
// logged at debug. The size has no wire field yet - see the function.
|
|
1245
|
+
const preparedConsole = prepareConsoleOutput(formatConsoleOutput(result));
|
|
1246
|
+
if (preparedConsole.truncatedFromBytes !== null) {
|
|
1247
|
+
debugLog(`console output cut to ${CONSOLE_OUTPUT_MAX_BYTES} bytes (was ${preparedConsole.truncatedFromBytes}) for "${testName}"`);
|
|
1248
|
+
}
|
|
1115
1249
|
this.buffer.push({
|
|
1116
1250
|
testName,
|
|
1117
1251
|
filePath,
|
|
@@ -1124,7 +1258,7 @@ class SquallyReporter {
|
|
|
1124
1258
|
...(expectedFailure ? { expectedFailure: true } : {}),
|
|
1125
1259
|
durationMs: result.duration,
|
|
1126
1260
|
errors: mapErrors(result.errors),
|
|
1127
|
-
consoleOutput:
|
|
1261
|
+
consoleOutput: preparedConsole.text,
|
|
1128
1262
|
tags: testTags.length > 0
|
|
1129
1263
|
? testTags.slice(0, MAX_TAGS).map((tag) => truncate(tag, V2_FIELD_LIMITS.tag))
|
|
1130
1264
|
: undefined,
|
|
@@ -1141,6 +1275,11 @@ class SquallyReporter {
|
|
|
1141
1275
|
}
|
|
1142
1276
|
if (!attemptQualifiesForArtifacts(status, result.retry))
|
|
1143
1277
|
return;
|
|
1278
|
+
// The trace of THIS attempt, remembered while walking the attachments so
|
|
1279
|
+
// the console can be derived from it afterwards. Derived after the loop
|
|
1280
|
+
// rather than inside it, because the console artifact has to be pushed
|
|
1281
|
+
// with the same identity tuple and there is no reason to do that twice.
|
|
1282
|
+
let tracePath = null;
|
|
1144
1283
|
for (const attachment of result.attachments) {
|
|
1145
1284
|
if (attachment.name !== "screenshot" && attachment.name !== "trace")
|
|
1146
1285
|
continue;
|
|
@@ -1175,7 +1314,36 @@ class SquallyReporter {
|
|
|
1175
1314
|
localPath: attachment.path,
|
|
1176
1315
|
sizeBytes,
|
|
1177
1316
|
});
|
|
1317
|
+
if (attachment.name === "trace")
|
|
1318
|
+
tracePath = attachment.path;
|
|
1178
1319
|
}
|
|
1320
|
+
// THE CONSOLE, DERIVED FROM THE TRACE, and only when there is one. No
|
|
1321
|
+
// trace means no source: the browser console exists nowhere else, and
|
|
1322
|
+
// squally-app renders the reason rather than an empty section. Extraction
|
|
1323
|
+
// happens HERE, before presign, so that a trace this reporter cannot read
|
|
1324
|
+
// becomes a logged local skip instead of an artifact that presign was
|
|
1325
|
+
// promised and never got.
|
|
1326
|
+
if (tracePath === null)
|
|
1327
|
+
return;
|
|
1328
|
+
const consolePath = consoleArtifactFor(tracePath, this.warnedTraceVersions);
|
|
1329
|
+
if (consolePath === null)
|
|
1330
|
+
return;
|
|
1331
|
+
let consoleSize;
|
|
1332
|
+
try {
|
|
1333
|
+
consoleSize = (0, node_fs_1.statSync)(consolePath).size;
|
|
1334
|
+
}
|
|
1335
|
+
catch {
|
|
1336
|
+
return;
|
|
1337
|
+
}
|
|
1338
|
+
this.artifacts.push({
|
|
1339
|
+
testName,
|
|
1340
|
+
filePath,
|
|
1341
|
+
retryCount: result.retry,
|
|
1342
|
+
repeatIndex,
|
|
1343
|
+
type: "console",
|
|
1344
|
+
localPath: consolePath,
|
|
1345
|
+
sizeBytes: consoleSize,
|
|
1346
|
+
});
|
|
1179
1347
|
}
|
|
1180
1348
|
// (decision, spec section 3.2, closes 8.7) At onEnd: flush the remaining
|
|
1181
1349
|
// buffer, wait for in-flight batches, then call /complete - bounded by
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The trace schema versions this extractor has been verified against.
|
|
3
|
+
*
|
|
4
|
+
* VERIFIED means: the console event shape above was checked in that version's
|
|
5
|
+
* writer. V5 through V10 carry it unchanged; 1.62 writes V8. The upper bound
|
|
6
|
+
* is deliberately the highest VERIFIED one and not Infinity - a future version
|
|
7
|
+
* that renames the event would otherwise be read as "this attempt had no
|
|
8
|
+
* console messages", which is silence, and silence in exactly the shape of the
|
|
9
|
+
* artifact outage this project spent six days not noticing.
|
|
10
|
+
*/
|
|
11
|
+
export declare const TRACE_VERSION_MIN = 5;
|
|
12
|
+
export declare const TRACE_VERSION_MAX = 10;
|
|
13
|
+
export type ConsoleExtraction =
|
|
14
|
+
/** Messages found and formatted. */
|
|
15
|
+
{
|
|
16
|
+
status: "ok";
|
|
17
|
+
text: string;
|
|
18
|
+
messageCount: number;
|
|
19
|
+
}
|
|
20
|
+
/** The trace was read, the version is known, there were no console events. */
|
|
21
|
+
| {
|
|
22
|
+
status: "empty";
|
|
23
|
+
}
|
|
24
|
+
/** A version outside the verified range - the extractor refuses to guess. */
|
|
25
|
+
| {
|
|
26
|
+
status: "unsupported-version";
|
|
27
|
+
version: number;
|
|
28
|
+
}
|
|
29
|
+
/** The zip could not be opened, or holds no .trace entry at all. */
|
|
30
|
+
| {
|
|
31
|
+
status: "unreadable";
|
|
32
|
+
reason: string;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* The browser console of a trace zip, or why there is none.
|
|
36
|
+
*
|
|
37
|
+
* NEVER THROWS. This runs inside onTestEnd on a customer's CI machine, and
|
|
38
|
+
* this package's first rule is that it cannot break their run - so every
|
|
39
|
+
* failure becomes a `status` the caller can log and carry on from.
|
|
40
|
+
*/
|
|
41
|
+
export declare function extractBrowserConsole(zip: Buffer): ConsoleExtraction;
|
|
42
|
+
//# sourceMappingURL=trace-console.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-console.d.ts","sourceRoot":"","sources":["../src/trace-console.ts"],"names":[],"mappings":"AAkCA;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,MAAM,MAAM,iBAAiB;AAC3B,oCAAoC;AAClC;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE;AACtD,8EAA8E;GAC5E;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE;AACrB,6EAA6E;GAC3E;IAAE,MAAM,EAAE,qBAAqB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AACpD,oEAAoE;GAClE;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AA8D7C;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CA+DpE"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// The browser console of one attempt, read out of its Playwright trace.
|
|
3
|
+
//
|
|
4
|
+
// WHY FROM THE TRACE. Playwright hands a reporter `result.stdout`/`stderr`,
|
|
5
|
+
// which is the NODE process output - what the test file itself printed. What
|
|
6
|
+
// the page printed goes to the trace and nowhere else, so a reporter that
|
|
7
|
+
// wants it has to open the zip. That is the whole reason this file exists, and
|
|
8
|
+
// it is why an attempt with no trace can never have a browser console: there
|
|
9
|
+
// is no other source. squally-app says so on the page rather than showing an
|
|
10
|
+
// empty section (browserConsoleState).
|
|
11
|
+
//
|
|
12
|
+
// THE FORMAT INSIDE. Each .trace entry is newline-delimited JSON, one event
|
|
13
|
+
// per line, and the first line carries `version`. Console events read:
|
|
14
|
+
//
|
|
15
|
+
// {"type":"console","messageType":"warning","text":"a warning with a number 42",
|
|
16
|
+
// "args":[{"preview":"a warning with a number"},{"preview":"42"}],
|
|
17
|
+
// "location":{...},"time":1123.147,"pageId":"page@..."}
|
|
18
|
+
//
|
|
19
|
+
// MEASURED against Playwright 1.62.1 (trace version 8) rather than taken from
|
|
20
|
+
// the schema, and two of the three measurements changed the code:
|
|
21
|
+
//
|
|
22
|
+
// 1. A trace zip holds SEVERAL .trace files and the console events are not
|
|
23
|
+
// in the one you would guess. `test.trace` is the test-runner context and
|
|
24
|
+
// carried 0 console events; all six were in `0-trace.trace`, the browser
|
|
25
|
+
// context. So every .trace entry is read, not just the first.
|
|
26
|
+
// 2. `text` is ALREADY the rendered join of the args previews - "a warning
|
|
27
|
+
// with a number 42" for console.warn("a warning with a number", 42). The
|
|
28
|
+
// args array adds nothing a reader would want, so it is ignored.
|
|
29
|
+
// 3. `console.log()` with no arguments produces no event at all, while
|
|
30
|
+
// console.debug("") produces one with text "". The empty one is kept (see
|
|
31
|
+
// the formatter): a message that happened is a fact, and dropping it
|
|
32
|
+
// would make the count wrong.
|
|
33
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
+
exports.TRACE_VERSION_MAX = exports.TRACE_VERSION_MIN = void 0;
|
|
35
|
+
exports.extractBrowserConsole = extractBrowserConsole;
|
|
36
|
+
const trace_zip_1 = require("./trace-zip");
|
|
37
|
+
/**
|
|
38
|
+
* The trace schema versions this extractor has been verified against.
|
|
39
|
+
*
|
|
40
|
+
* VERIFIED means: the console event shape above was checked in that version's
|
|
41
|
+
* writer. V5 through V10 carry it unchanged; 1.62 writes V8. The upper bound
|
|
42
|
+
* is deliberately the highest VERIFIED one and not Infinity - a future version
|
|
43
|
+
* that renames the event would otherwise be read as "this attempt had no
|
|
44
|
+
* console messages", which is silence, and silence in exactly the shape of the
|
|
45
|
+
* artifact outage this project spent six days not noticing.
|
|
46
|
+
*/
|
|
47
|
+
exports.TRACE_VERSION_MIN = 5;
|
|
48
|
+
exports.TRACE_VERSION_MAX = 10;
|
|
49
|
+
/**
|
|
50
|
+
* One line per message, `[messageType] text`.
|
|
51
|
+
*
|
|
52
|
+
* THREE CHOICES, each with a case that forced it:
|
|
53
|
+
*
|
|
54
|
+
* no text -> the line is just `[debug]`. console.debug("") is a real
|
|
55
|
+
* message with empty text (measured); printing nothing for
|
|
56
|
+
* it would hide that the page logged at all, and printing
|
|
57
|
+
* "[debug] " leaves a trailing space in a file people read.
|
|
58
|
+
* multi-line -> kept as it is, newlines and all. "One line per message"
|
|
59
|
+
* is therefore approximate, and that is the right trade:
|
|
60
|
+
* the text of a console.error is usually a stack, and
|
|
61
|
+
* escaping or indenting it would make the one message
|
|
62
|
+
* people most want to read the hardest one. squally-app
|
|
63
|
+
* renders this in a `whitespace-pre-wrap` block, so it
|
|
64
|
+
* arrives as written.
|
|
65
|
+
* args preview -> ignored. `text` already contains it (measurement 2
|
|
66
|
+
* above); appending the previews would print everything
|
|
67
|
+
* twice.
|
|
68
|
+
*
|
|
69
|
+
* `messageType` is Playwright's own word, not remapped: log, info, warning,
|
|
70
|
+
* error, debug, trace. "warning" rather than "warn" is what the trace says and
|
|
71
|
+
* inventing a synonym here would make the file disagree with the trace viewer
|
|
72
|
+
* a reader might open beside it.
|
|
73
|
+
*/
|
|
74
|
+
function formatConsole(events) {
|
|
75
|
+
return events
|
|
76
|
+
.map((event) => (event.text === "" ? `[${event.messageType}]` : `[${event.messageType}] ${event.text}`))
|
|
77
|
+
.join("\n");
|
|
78
|
+
}
|
|
79
|
+
/** Reads one .trace entry: its version, and any console events in it. */
|
|
80
|
+
function readTraceEntry(text) {
|
|
81
|
+
let version = null;
|
|
82
|
+
const events = [];
|
|
83
|
+
for (const line of text.split("\n")) {
|
|
84
|
+
if (line === "")
|
|
85
|
+
continue;
|
|
86
|
+
let event;
|
|
87
|
+
try {
|
|
88
|
+
event = JSON.parse(line);
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
// A truncated last line is the expected case (a trace written by a
|
|
92
|
+
// process that was killed). Skipping it loses that one event; failing
|
|
93
|
+
// the whole extraction would lose all of them.
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
if (version === null && typeof event.version === "number")
|
|
97
|
+
version = event.version;
|
|
98
|
+
if (event.type !== "console")
|
|
99
|
+
continue;
|
|
100
|
+
events.push({
|
|
101
|
+
messageType: typeof event.messageType === "string" ? event.messageType : "log",
|
|
102
|
+
text: typeof event.text === "string" ? event.text : "",
|
|
103
|
+
time: typeof event.time === "number" ? event.time : null,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
return { version, events };
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* The browser console of a trace zip, or why there is none.
|
|
110
|
+
*
|
|
111
|
+
* NEVER THROWS. This runs inside onTestEnd on a customer's CI machine, and
|
|
112
|
+
* this package's first rule is that it cannot break their run - so every
|
|
113
|
+
* failure becomes a `status` the caller can log and carry on from.
|
|
114
|
+
*/
|
|
115
|
+
function extractBrowserConsole(zip) {
|
|
116
|
+
let traceEntries;
|
|
117
|
+
try {
|
|
118
|
+
traceEntries = (0, trace_zip_1.readCentralDirectory)(zip).filter((entry) => entry.name.endsWith(".trace"));
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
return {
|
|
122
|
+
status: "unreadable",
|
|
123
|
+
reason: error instanceof trace_zip_1.ZipFormatError ? error.message : `${error?.message ?? error}`,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
if (traceEntries.length === 0) {
|
|
127
|
+
return { status: "unreadable", reason: "the zip holds no .trace entry" };
|
|
128
|
+
}
|
|
129
|
+
const events = [];
|
|
130
|
+
let sawVersion = false;
|
|
131
|
+
for (const entry of traceEntries) {
|
|
132
|
+
let text;
|
|
133
|
+
try {
|
|
134
|
+
text = (0, trace_zip_1.readZipEntry)(zip, entry).toString("utf8");
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
return {
|
|
138
|
+
status: "unreadable",
|
|
139
|
+
reason: error instanceof trace_zip_1.ZipFormatError ? error.message : `${error?.message ?? error}`,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
const { version, events: found } = readTraceEntry(text);
|
|
143
|
+
if (version !== null) {
|
|
144
|
+
sawVersion = true;
|
|
145
|
+
// ANY entry outside the range fails the whole extraction, rather than
|
|
146
|
+
// the others being read anyway: a zip whose parts disagree about the
|
|
147
|
+
// schema is not a zip to take a best guess at.
|
|
148
|
+
if (version < exports.TRACE_VERSION_MIN || version > exports.TRACE_VERSION_MAX) {
|
|
149
|
+
return { status: "unsupported-version", version };
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
events.push(...found);
|
|
153
|
+
}
|
|
154
|
+
if (!sawVersion) {
|
|
155
|
+
return { status: "unreadable", reason: "no .trace entry carried a version header" };
|
|
156
|
+
}
|
|
157
|
+
// Ordered by the trace clock, because the events come from several files -
|
|
158
|
+
// the browser context and the test-runner context are separate entries, and
|
|
159
|
+
// concatenating them would interleave a page's output wrongly. Events with
|
|
160
|
+
// no `time` keep their position (a stable sort), which is why `time` is read
|
|
161
|
+
// at all: it orders, it is not printed. It is a float of milliseconds since
|
|
162
|
+
// the trace started, which means nothing to a reader without that origin.
|
|
163
|
+
const ordered = events
|
|
164
|
+
.map((event, index) => ({ event, index }))
|
|
165
|
+
.sort((a, b) => a.event.time === null || b.event.time === null
|
|
166
|
+
? a.index - b.index
|
|
167
|
+
: a.event.time - b.event.time || a.index - b.index)
|
|
168
|
+
.map((entry) => entry.event);
|
|
169
|
+
if (ordered.length === 0)
|
|
170
|
+
return { status: "empty" };
|
|
171
|
+
return { status: "ok", text: formatConsole(ordered), messageCount: ordered.length };
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=trace-console.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-console.js","sourceRoot":"","sources":["../src/trace-console.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type ZipEntry = {
|
|
2
|
+
name: string;
|
|
3
|
+
method: number;
|
|
4
|
+
flags: number;
|
|
5
|
+
compressedSize: number;
|
|
6
|
+
uncompressedSize: number;
|
|
7
|
+
localHeaderOffset: number;
|
|
8
|
+
};
|
|
9
|
+
export declare class ZipFormatError extends Error {
|
|
10
|
+
constructor(message: string);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Every entry in the archive, from the central directory.
|
|
14
|
+
*
|
|
15
|
+
* Reads the directory only - no decompression happens here, so listing a 50 MB
|
|
16
|
+
* trace costs the same as listing an empty one.
|
|
17
|
+
*/
|
|
18
|
+
export declare function readCentralDirectory(zip: Buffer): ZipEntry[];
|
|
19
|
+
/** One entry's bytes, decompressed. */
|
|
20
|
+
export declare function readZipEntry(zip: Buffer, entry: ZipEntry): Buffer;
|
|
21
|
+
/** Convenience: the entry with this exact name, decompressed, or null. */
|
|
22
|
+
export declare function readZipEntryByName(zip: Buffer, name: string): Buffer | null;
|
|
23
|
+
//# sourceMappingURL=trace-zip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-zip.d.ts","sourceRoot":"","sources":["../src/trace-zip.ts"],"names":[],"mappings":"AAiDA,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAI5B;AAUD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,CAmC5D;AAED,uCAAuC;AACvC,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,CA2BjE;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG3E"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// A zip reader for exactly one input: the zip Playwright writes for a trace.
|
|
3
|
+
//
|
|
4
|
+
// WHY HAND-WRITTEN, when three ready alternatives exist. Measured before
|
|
5
|
+
// deciding, not argued from taste:
|
|
6
|
+
//
|
|
7
|
+
// playwright's bundled yauzl 247 ms and +42 MB RSS per CI process, just to
|
|
8
|
+
// require it. It is inside the customer's own playwright-core, so it costs
|
|
9
|
+
// no install - but this reporter runs in every worker of every CI job, and
|
|
10
|
+
// 42 MB of resident memory for a zip we open only on a failure is the
|
|
11
|
+
// wrong trade.
|
|
12
|
+
// fflate would be the SECOND runtime dependency this
|
|
13
|
+
// package has ever had. The first (undici) is still remembered here for
|
|
14
|
+
// the `engines` field it dragged in.
|
|
15
|
+
// node:zlib already in the runtime, no install, no import
|
|
16
|
+
// cost worth measuring. inflateRawSync is the whole of what a deflate
|
|
17
|
+
// entry needs.
|
|
18
|
+
//
|
|
19
|
+
// WHAT THIS DELIBERATELY DOES NOT DO. Playwright traces are the only input, and
|
|
20
|
+
// they are written by Playwright's own writer: stored or deflate, no
|
|
21
|
+
// encryption, no zip64, no spanning. Everything else is REJECTED with a
|
|
22
|
+
// message that says which unsupported thing was found, rather than half-
|
|
23
|
+
// handled. A zip this cannot read is a zip that should be reported, not
|
|
24
|
+
// guessed at - see the failure modes in trace-console.ts.
|
|
25
|
+
//
|
|
26
|
+
// SIZES COME FROM THE CENTRAL DIRECTORY, never from the local file header, and
|
|
27
|
+
// that is not a style choice: Playwright sets general-purpose bit 3 (measured:
|
|
28
|
+
// flags 2056 on every entry of a 1.62 trace), which means the local header
|
|
29
|
+
// carries zeros and the real sizes follow the data in a descriptor. A reader
|
|
30
|
+
// that trusts the local header gets an empty buffer for every entry.
|
|
31
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
+
exports.ZipFormatError = void 0;
|
|
33
|
+
exports.readCentralDirectory = readCentralDirectory;
|
|
34
|
+
exports.readZipEntry = readZipEntry;
|
|
35
|
+
exports.readZipEntryByName = readZipEntryByName;
|
|
36
|
+
const node_zlib_1 = require("node:zlib");
|
|
37
|
+
const END_OF_CENTRAL_DIRECTORY = 0x06054b50;
|
|
38
|
+
const CENTRAL_FILE_HEADER = 0x02014b50;
|
|
39
|
+
const LOCAL_FILE_HEADER = 0x04034b50;
|
|
40
|
+
/** A zip comment can be 64 KiB, so the EOCD can sit that far from the end. */
|
|
41
|
+
const MAX_EOCD_SEARCH = 22 + 0xffff;
|
|
42
|
+
/** Marker value for "this number did not fit - see the zip64 record". */
|
|
43
|
+
const ZIP64_SENTINEL_32 = 0xffffffff;
|
|
44
|
+
const ZIP64_SENTINEL_16 = 0xffff;
|
|
45
|
+
const METHOD_STORED = 0;
|
|
46
|
+
const METHOD_DEFLATE = 8;
|
|
47
|
+
/** Bit 0 of the general-purpose flags: the entry is encrypted. */
|
|
48
|
+
const FLAG_ENCRYPTED = 0x1;
|
|
49
|
+
class ZipFormatError extends Error {
|
|
50
|
+
constructor(message) {
|
|
51
|
+
super(message);
|
|
52
|
+
this.name = "ZipFormatError";
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.ZipFormatError = ZipFormatError;
|
|
56
|
+
function findEndOfCentralDirectory(zip) {
|
|
57
|
+
const lowest = Math.max(0, zip.length - MAX_EOCD_SEARCH);
|
|
58
|
+
for (let offset = zip.length - 22; offset >= lowest; offset--) {
|
|
59
|
+
if (zip.readUInt32LE(offset) === END_OF_CENTRAL_DIRECTORY)
|
|
60
|
+
return offset;
|
|
61
|
+
}
|
|
62
|
+
throw new ZipFormatError("no end-of-central-directory record - not a zip file");
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Every entry in the archive, from the central directory.
|
|
66
|
+
*
|
|
67
|
+
* Reads the directory only - no decompression happens here, so listing a 50 MB
|
|
68
|
+
* trace costs the same as listing an empty one.
|
|
69
|
+
*/
|
|
70
|
+
function readCentralDirectory(zip) {
|
|
71
|
+
if (zip.length < 22)
|
|
72
|
+
throw new ZipFormatError(`file is too small to be a zip (${zip.length} bytes)`);
|
|
73
|
+
const eocd = findEndOfCentralDirectory(zip);
|
|
74
|
+
const entryCount = zip.readUInt16LE(eocd + 10);
|
|
75
|
+
const directoryOffset = zip.readUInt32LE(eocd + 16);
|
|
76
|
+
if (entryCount === ZIP64_SENTINEL_16 || directoryOffset === ZIP64_SENTINEL_32) {
|
|
77
|
+
throw new ZipFormatError("zip64 archives are not supported");
|
|
78
|
+
}
|
|
79
|
+
const entries = [];
|
|
80
|
+
let cursor = directoryOffset;
|
|
81
|
+
for (let index = 0; index < entryCount; index++) {
|
|
82
|
+
if (cursor + 46 > zip.length || zip.readUInt32LE(cursor) !== CENTRAL_FILE_HEADER) {
|
|
83
|
+
throw new ZipFormatError(`central directory entry ${index} is malformed`);
|
|
84
|
+
}
|
|
85
|
+
const flags = zip.readUInt16LE(cursor + 8);
|
|
86
|
+
const method = zip.readUInt16LE(cursor + 10);
|
|
87
|
+
const compressedSize = zip.readUInt32LE(cursor + 20);
|
|
88
|
+
const uncompressedSize = zip.readUInt32LE(cursor + 24);
|
|
89
|
+
const nameLength = zip.readUInt16LE(cursor + 28);
|
|
90
|
+
const extraLength = zip.readUInt16LE(cursor + 30);
|
|
91
|
+
const commentLength = zip.readUInt16LE(cursor + 32);
|
|
92
|
+
const localHeaderOffset = zip.readUInt32LE(cursor + 42);
|
|
93
|
+
const name = zip.subarray(cursor + 46, cursor + 46 + nameLength).toString("utf8");
|
|
94
|
+
if (compressedSize === ZIP64_SENTINEL_32 || uncompressedSize === ZIP64_SENTINEL_32) {
|
|
95
|
+
throw new ZipFormatError(`entry "${name}" needs zip64, which is not supported`);
|
|
96
|
+
}
|
|
97
|
+
entries.push({ name, method, flags, compressedSize, uncompressedSize, localHeaderOffset });
|
|
98
|
+
cursor += 46 + nameLength + extraLength + commentLength;
|
|
99
|
+
}
|
|
100
|
+
return entries;
|
|
101
|
+
}
|
|
102
|
+
/** One entry's bytes, decompressed. */
|
|
103
|
+
function readZipEntry(zip, entry) {
|
|
104
|
+
if ((entry.flags & FLAG_ENCRYPTED) !== 0) {
|
|
105
|
+
throw new ZipFormatError(`entry "${entry.name}" is encrypted, which is not supported`);
|
|
106
|
+
}
|
|
107
|
+
if (entry.method !== METHOD_STORED && entry.method !== METHOD_DEFLATE) {
|
|
108
|
+
throw new ZipFormatError(`entry "${entry.name}" uses compression method ${entry.method}; only stored (0) and deflate (8) are supported`);
|
|
109
|
+
}
|
|
110
|
+
const header = entry.localHeaderOffset;
|
|
111
|
+
if (header + 30 > zip.length || zip.readUInt32LE(header) !== LOCAL_FILE_HEADER) {
|
|
112
|
+
throw new ZipFormatError(`entry "${entry.name}" has no local file header where the directory says`);
|
|
113
|
+
}
|
|
114
|
+
// The local header's OWN name/extra lengths, which can differ from the
|
|
115
|
+
// central directory's extra length - the two are allowed to carry different
|
|
116
|
+
// extra fields, and using the wrong one lands mid-data.
|
|
117
|
+
const nameLength = zip.readUInt16LE(header + 26);
|
|
118
|
+
const extraLength = zip.readUInt16LE(header + 28);
|
|
119
|
+
const start = header + 30 + nameLength + extraLength;
|
|
120
|
+
const end = start + entry.compressedSize;
|
|
121
|
+
if (end > zip.length) {
|
|
122
|
+
throw new ZipFormatError(`entry "${entry.name}" runs past the end of the file`);
|
|
123
|
+
}
|
|
124
|
+
const raw = zip.subarray(start, end);
|
|
125
|
+
return entry.method === METHOD_STORED ? Buffer.from(raw) : (0, node_zlib_1.inflateRawSync)(raw);
|
|
126
|
+
}
|
|
127
|
+
/** Convenience: the entry with this exact name, decompressed, or null. */
|
|
128
|
+
function readZipEntryByName(zip, name) {
|
|
129
|
+
const entry = readCentralDirectory(zip).find((candidate) => candidate.name === name);
|
|
130
|
+
return entry ? readZipEntry(zip, entry) : null;
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=trace-zip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-zip.js","sourceRoot":"","sources":["../src/trace-zip.ts"],"names":[],"mappings":";AAAA,6EAA6E;AAC7E,EAAE;AACF,yEAAyE;AACzE,mCAAmC;AACnC,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;AAC/E,0EAA0E;AAC1E,mBAAmB;AACnB,4EAA4E;AAC5E,4EAA4E;AAC5E,yCAAyC;AACzC,8EAA8E;AAC9E,0EAA0E;AAC1E,mBAAmB;AACnB,EAAE;AACF,gFAAgF;AAChF,qEAAqE;AACrE,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AACxE,0DAA0D;AAC1D,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,2EAA2E;AAC3E,6EAA6E;AAC7E,qEAAqE;;;AAmDrE,oDAmCC;AAGD,oCA2BC;AAGD,gDAGC;AAxHD,yCAA2C;AAE3C,MAAM,wBAAwB,GAAG,UAAU,CAAC;AAC5C,MAAM,mBAAmB,GAAG,UAAU,CAAC;AACvC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAErC,8EAA8E;AAC9E,MAAM,eAAe,GAAG,EAAE,GAAG,MAAM,CAAC;AAEpC,yEAAyE;AACzE,MAAM,iBAAiB,GAAG,UAAU,CAAC;AACrC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEjC,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,kEAAkE;AAClE,MAAM,cAAc,GAAG,GAAG,CAAC;AAW3B,MAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AALD,wCAKC;AAED,SAAS,yBAAyB,CAAC,GAAW;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;IACzD,KAAK,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;QAC9D,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,wBAAwB;YAAE,OAAO,MAAM,CAAC;IAC3E,CAAC;IACD,MAAM,IAAI,cAAc,CAAC,qDAAqD,CAAC,CAAC;AAClF,CAAC;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE;QAAE,MAAM,IAAI,cAAc,CAAC,kCAAkC,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC;IAErG,MAAM,IAAI,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAC/C,MAAM,eAAe,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAEpD,IAAI,UAAU,KAAK,iBAAiB,IAAI,eAAe,KAAK,iBAAiB,EAAE,CAAC;QAC9E,MAAM,IAAI,cAAc,CAAC,kCAAkC,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,IAAI,MAAM,GAAG,eAAe,CAAC;IAC7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC;QAChD,IAAI,MAAM,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,mBAAmB,EAAE,CAAC;YACjF,MAAM,IAAI,cAAc,CAAC,2BAA2B,KAAK,eAAe,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC7C,MAAM,cAAc,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACrD,MAAM,gBAAgB,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACpD,MAAM,iBAAiB,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,GAAG,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAElF,IAAI,cAAc,KAAK,iBAAiB,IAAI,gBAAgB,KAAK,iBAAiB,EAAE,CAAC;YACnF,MAAM,IAAI,cAAc,CAAC,UAAU,IAAI,uCAAuC,CAAC,CAAC;QAClF,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC3F,MAAM,IAAI,EAAE,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,CAAC;IAC1D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,uCAAuC;AACvC,SAAgB,YAAY,CAAC,GAAW,EAAE,KAAe;IACvD,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,cAAc,CAAC,UAAU,KAAK,CAAC,IAAI,wCAAwC,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,IAAI,KAAK,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;QACtE,MAAM,IAAI,cAAc,CACtB,UAAU,KAAK,CAAC,IAAI,6BAA6B,KAAK,CAAC,MAAM,iDAAiD,CAC/G,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACvC,IAAI,MAAM,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,iBAAiB,EAAE,CAAC;QAC/E,MAAM,IAAI,cAAc,CAAC,UAAU,KAAK,CAAC,IAAI,qDAAqD,CAAC,CAAC;IACtG,CAAC;IACD,uEAAuE;IACvE,4EAA4E;IAC5E,wDAAwD;IACxD,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,MAAM,GAAG,EAAE,GAAG,UAAU,GAAG,WAAW,CAAC;IACrD,MAAM,GAAG,GAAG,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC;IACzC,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,cAAc,CAAC,UAAU,KAAK,CAAC,IAAI,iCAAiC,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,0BAAc,EAAC,GAAG,CAAC,CAAC;AACjF,CAAC;AAED,0EAA0E;AAC1E,SAAgB,kBAAkB,CAAC,GAAW,EAAE,IAAY;IAC1D,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACrF,OAAO,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC"}
|