@code-pushup/utils 0.108.2 → 0.110.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.
Files changed (40) hide show
  1. package/package.json +2 -2
  2. package/src/index.d.ts +1 -0
  3. package/src/index.js +1 -0
  4. package/src/index.js.map +1 -1
  5. package/src/lib/performance-observer.d.ts +3 -3
  6. package/src/lib/performance-observer.js +1 -1
  7. package/src/lib/performance-observer.js.map +1 -1
  8. package/src/lib/profiler/constants.d.ts +5 -0
  9. package/src/lib/profiler/constants.js +5 -0
  10. package/src/lib/profiler/constants.js.map +1 -1
  11. package/src/lib/profiler/profiler.d.ts +6 -0
  12. package/src/lib/profiler/profiler.js +10 -0
  13. package/src/lib/profiler/profiler.js.map +1 -1
  14. package/src/lib/{trace-file-utils.d.ts → profiler/trace-file-utils.d.ts} +52 -2
  15. package/src/lib/{trace-file-utils.js → profiler/trace-file-utils.js} +120 -9
  16. package/src/lib/profiler/trace-file-utils.js.map +1 -0
  17. package/src/lib/{trace-file.type.d.ts → profiler/trace-file.type.d.ts} +6 -2
  18. package/src/lib/profiler/trace-file.type.js.map +1 -0
  19. package/src/lib/profiler/wal-json-trace.d.ts +25 -0
  20. package/src/lib/profiler/wal-json-trace.js +77 -0
  21. package/src/lib/profiler/wal-json-trace.js.map +1 -0
  22. package/src/lib/reports/formatting.d.ts +6 -1
  23. package/src/lib/reports/formatting.js +15 -1
  24. package/src/lib/reports/formatting.js.map +1 -1
  25. package/src/lib/reports/generate-md-report.js +13 -8
  26. package/src/lib/reports/generate-md-report.js.map +1 -1
  27. package/src/lib/reports/type-guards.d.ts +9 -0
  28. package/src/lib/reports/type-guards.js +17 -0
  29. package/src/lib/reports/type-guards.js.map +1 -0
  30. package/src/lib/reports/utils.js +14 -3
  31. package/src/lib/reports/utils.js.map +1 -1
  32. package/src/lib/wal.d.ts +236 -0
  33. package/src/lib/wal.js +411 -0
  34. package/src/lib/wal.js.map +1 -0
  35. package/src/lib/sink-source.type.d.ts +0 -43
  36. package/src/lib/sink-source.type.js +0 -2
  37. package/src/lib/sink-source.type.js.map +0 -1
  38. package/src/lib/trace-file-utils.js.map +0 -1
  39. package/src/lib/trace-file.type.js.map +0 -1
  40. /package/src/lib/{trace-file.type.js → profiler/trace-file.type.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../../../src/lib/reports/formatting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../../../src/lib/reports/formatting.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,9 @@ import { MarkdownDocument, md } from 'build-md';
2
2
  import { formatDate, formatDuration } from '../formatting.js';
3
3
  import { HIERARCHY } from '../text-formats/index.js';
4
4
  import { AUDIT_DETAILS_HEADING_LEVEL, FOOTER_PREFIX, README_LINK, REPORT_HEADLINE_TEXT, } from './constants.js';
5
- import { formatSourceLine, linkToLocalSourceForIde, metaDescription, tableSection, treeSection, wrapTags, } from './formatting.js';
5
+ import { formatSelectorLocation, formatSourceLine, linkToSource, metaDescription, tableSection, treeSection, wrapTags, } from './formatting.js';
6
6
  import { categoriesDetailsSection, categoriesOverviewSection, } from './generate-md-report-category-section.js';
7
+ import { isFileSource, isUrlSource } from './type-guards.js';
7
8
  import { formatReportScore, scoreFilter, scoreMarker, severityMarker, } from './utils.js';
8
9
  export function auditDetailsAuditValue({ score, value, displayValue, }) {
9
10
  return md `${scoreMarker(score, 'square')} ${md.bold(String(displayValue ?? value))} (score: ${formatReportScore(score)})`;
@@ -37,20 +38,24 @@ export function auditDetailsIssues(issues = [], options) {
37
38
  .table([
38
39
  { heading: 'Severity', alignment: 'center' },
39
40
  { heading: 'Message', alignment: 'left' },
40
- { heading: 'Source file', alignment: 'left' },
41
- { heading: 'Line(s)', alignment: 'center' },
41
+ { heading: 'Source', alignment: 'left' },
42
+ { heading: 'Location', alignment: 'center' },
42
43
  ], issues.map(({ severity: level, message, source }) => {
43
44
  const severity = md `${severityMarker(level)} ${md.italic(level)}`;
44
45
  const formattedMessage = wrapTags(message);
45
46
  if (!source) {
46
47
  return [severity, formattedMessage];
47
48
  }
48
- const file = linkToLocalSourceForIde(source, options);
49
- if (!source.position) {
50
- return [severity, formattedMessage, file];
49
+ const sourceLink = linkToSource(source, options);
50
+ if (isFileSource(source) && source.position) {
51
+ const location = formatSourceLine(source.position);
52
+ return [severity, formattedMessage, sourceLink, location];
51
53
  }
52
- const line = formatSourceLine(source.position);
53
- return [severity, formattedMessage, file, line];
54
+ if (isUrlSource(source) && source.selector) {
55
+ const location = formatSelectorLocation(source.selector);
56
+ return [severity, formattedMessage, sourceLink, md.code(location)];
57
+ }
58
+ return [severity, formattedMessage, sourceLink];
54
59
  }));
55
60
  }
56
61
  export function auditDetails(audit, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"generate-md-report.js","sourceRoot":"","sources":["../../../../src/lib/reports/generate-md-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-md-report.js","sourceRoot":"","sources":["../../../../src/lib/reports/generate-md-report.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { FileIssue, Issue, IssueSource, SourceFileLocation, SourceUrlLocation, UrlIssue } from '@code-pushup/models';
2
+ /** Type guard for file-based source */
3
+ export declare function isFileSource(source: IssueSource): source is SourceFileLocation;
4
+ /** Type guard for URL-based source */
5
+ export declare function isUrlSource(source: IssueSource): source is SourceUrlLocation;
6
+ /** Type guard for issue with file source */
7
+ export declare function isFileIssue(issue: Issue): issue is FileIssue;
8
+ /** Type guard for issue with URL source */
9
+ export declare function isUrlIssue(issue: Issue): issue is UrlIssue;
@@ -0,0 +1,17 @@
1
+ /** Type guard for file-based source */
2
+ export function isFileSource(source) {
3
+ return 'file' in source;
4
+ }
5
+ /** Type guard for URL-based source */
6
+ export function isUrlSource(source) {
7
+ return 'url' in source;
8
+ }
9
+ /** Type guard for issue with file source */
10
+ export function isFileIssue(issue) {
11
+ return issue.source != null && isFileSource(issue.source);
12
+ }
13
+ /** Type guard for issue with URL source */
14
+ export function isUrlIssue(issue) {
15
+ return issue.source != null && isUrlSource(issue.source);
16
+ }
17
+ //# sourceMappingURL=type-guards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../../../../src/lib/reports/type-guards.ts"],"names":[],"mappings":"AASA,uCAAuC;AACvC,MAAM,UAAU,YAAY,CAC1B,MAAmB;IAEnB,OAAO,MAAM,IAAI,MAAM,CAAC;AAC1B,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC7C,OAAO,KAAK,IAAI,MAAM,CAAC;AACzB,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,WAAW,CAAC,KAAY;IACtC,OAAO,KAAK,CAAC,MAAM,IAAI,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,UAAU,CAAC,KAAY;IACrC,OAAO,KAAK,CAAC,MAAM,IAAI,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import ansis, {} from 'ansis';
2
2
  import { md } from 'build-md';
3
3
  import { SCORE_COLOR_RANGE } from './constants.js';
4
+ import { isFileSource } from './type-guards.js';
4
5
  export function scoreFilter(options) {
5
6
  const { isScoreListed = () => true } = options ?? {};
6
7
  return ({ score }) => isScoreListed(score);
@@ -156,6 +157,9 @@ export function throwIsNotPresentError(itemName, presentPlace) {
156
157
  export function getPluginNameFromSlug(slug, plugins) {
157
158
  return (plugins.find(({ slug: pluginSlug }) => pluginSlug === slug)?.title || slug);
158
159
  }
160
+ function getSourceIdentifier(source) {
161
+ return isFileSource(source) ? source.file : source.url;
162
+ }
159
163
  export function compareIssues(a, b) {
160
164
  if (a.severity !== b.severity) {
161
165
  return -compareIssueSeverity(a.severity, b.severity);
@@ -166,10 +170,17 @@ export function compareIssues(a, b) {
166
170
  if (a.source && !b.source) {
167
171
  return 1;
168
172
  }
169
- if (a.source?.file !== b.source?.file) {
170
- return a.source?.file.localeCompare(b.source?.file || '') ?? 0;
173
+ if (a.source && b.source) {
174
+ const aId = getSourceIdentifier(a.source);
175
+ const bId = getSourceIdentifier(b.source);
176
+ if (aId !== bId) {
177
+ return aId.localeCompare(bId);
178
+ }
179
+ if (isFileSource(a.source) && isFileSource(b.source)) {
180
+ return compareSourceFilePosition(a.source.position, b.source.position);
181
+ }
171
182
  }
172
- return compareSourceFilePosition(a.source?.position, b.source?.position);
183
+ return 0;
173
184
  }
174
185
  function compareSourceFilePosition(a, b) {
175
186
  if (!a && b) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/lib/reports/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/lib/reports/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,236 @@
1
+ /**
2
+ * Codec for encoding/decoding values to/from strings for WAL storage.
3
+ * Used to serialize/deserialize records written to and read from WAL files.
4
+ */
5
+ export type Codec<I, O = string> = {
6
+ /** Encode a value to a string for storage */
7
+ encode: (v: I) => O;
8
+ /** Decode a string back to the original value type */
9
+ decode: (data: O) => I;
10
+ };
11
+ export type InvalidEntry<O = string> = {
12
+ __invalid: true;
13
+ raw: O;
14
+ };
15
+ /**
16
+ * Interface for sinks that can append items.
17
+ * Allows for different types of appendable storage (WAL, in-memory, etc.)
18
+ */
19
+ export type AppendableSink<T> = {
20
+ append: (item: T) => void;
21
+ };
22
+ /**
23
+ * Result of recovering records from a WAL file.
24
+ * Contains successfully recovered records and any errors encountered during parsing.
25
+ */
26
+ export type RecoverResult<T> = {
27
+ /** Successfully recovered records */
28
+ records: T[];
29
+ /** Errors encountered during recovery with line numbers and context */
30
+ errors: {
31
+ lineNo: number;
32
+ line: string;
33
+ error: Error;
34
+ }[];
35
+ /** Last incomplete line if file was truncated (null if clean) */
36
+ partialTail: string | null;
37
+ };
38
+ /**
39
+ * Statistics about the WAL file state and last recovery operation.
40
+ */
41
+ export type WalStats<T> = {
42
+ /** File path for this WAL */
43
+ filePath: string;
44
+ /** Whether the WAL file is currently closed */
45
+ isClosed: boolean;
46
+ /** Whether the WAL file exists on disk */
47
+ fileExists: boolean;
48
+ /** File size in bytes (0 if file doesn't exist) */
49
+ fileSize: number;
50
+ /** Last recovery state from the most recent {@link recover} or {@link repack} operation */
51
+ lastRecovery: RecoverResult<T | InvalidEntry<string>> | null;
52
+ };
53
+ export declare const createTolerantCodec: <I, O = string>(codec: {
54
+ encode: (v: I) => O;
55
+ decode: (d: O) => I;
56
+ }) => Codec<I | InvalidEntry<O>, O>;
57
+ export declare function filterValidRecords<T>(records: (T | InvalidEntry<unknown>)[]): T[];
58
+ /**
59
+ * Pure helper function to recover records from WAL file content.
60
+ * @param content - Raw file content as string
61
+ * @param decode - function for decoding records
62
+ * @returns Recovery result with records, errors, and partial tail
63
+ */
64
+ export declare function recoverFromContent<T>(content: string, decode: Codec<T>['decode']): RecoverResult<T>;
65
+ /**
66
+ * Write-Ahead Log implementation for crash-safe append-only logging.
67
+ * Provides atomic operations for writing, recovering, and repacking log entries.
68
+ */
69
+ export declare class WriteAheadLogFile<T> implements AppendableSink<T> {
70
+ #private;
71
+ /**
72
+ * Create a new WAL file instance.
73
+ * @param options - Configuration options
74
+ */
75
+ constructor(options: {
76
+ file: string;
77
+ codec: Codec<T>;
78
+ });
79
+ /** Get the file path for this WAL */
80
+ getPath: () => string;
81
+ /** Open the WAL file for writing (creates directories if needed) */
82
+ open: () => void;
83
+ /**
84
+ * Append a record to the WAL.
85
+ * @param v - Record to append
86
+ * @throws Error if WAL cannot be opened
87
+ */
88
+ append: (v: T) => void;
89
+ /** Close the WAL file */
90
+ close: () => void;
91
+ isClosed: () => boolean;
92
+ /**
93
+ * Recover all records from the WAL file.
94
+ * Handles partial writes and decode errors gracefully.
95
+ * Updates the recovery state (accessible via {@link getStats}).
96
+ * @returns Recovery result with records, errors, and partial tail
97
+ */
98
+ recover(): RecoverResult<T | InvalidEntry<string>>;
99
+ /**
100
+ * Repack the WAL by recovering all valid records and rewriting cleanly.
101
+ * Removes corrupted entries and ensures clean formatting.
102
+ * Updates the recovery state (accessible via {@link getStats}).
103
+ * @param out - Output path (defaults to current file)
104
+ */
105
+ repack(out?: string): void;
106
+ /**
107
+ * Get comprehensive statistics about the WAL file state.
108
+ * Includes file information, open/close status, and last recovery state.
109
+ * @returns Statistics object with file info and last recovery state
110
+ */
111
+ getStats(): WalStats<T>;
112
+ }
113
+ /**
114
+ * Format descriptor that binds codec and file extension together.
115
+ * Prevents misconfiguration by keeping related concerns in one object.
116
+ */
117
+ export type WalFormat<T extends object | string> = {
118
+ /** Base name for the WAL (e.g., "trace") */
119
+ baseName: string;
120
+ /** Shard file extension (e.g., ".jsonl") */
121
+ walExtension: string;
122
+ /** Final file extension (e.g., ".json", ".trace.json") falls back to walExtension if not provided */
123
+ finalExtension: string;
124
+ /** Codec for encoding/decoding records */
125
+ codec: Codec<T, string>;
126
+ /** Finalizer for converting records to a string */
127
+ finalizer: (records: (T | InvalidEntry<string>)[], opt?: Record<string, unknown>) => string;
128
+ };
129
+ export declare const stringCodec: <T extends string | object = string>() => Codec<T>;
130
+ /**
131
+ * Parses a partial WalFormat configuration and returns a complete WalFormat object.
132
+ * All fallback values are targeting string types.
133
+ * - baseName defaults to 'wal'
134
+ * - walExtension defaults to '.log'
135
+ * - finalExtension defaults to '.log'
136
+ * - codec defaults to stringCodec<T>()
137
+ * - finalizer defaults to encoding each record using codec.encode() and joining with newlines.
138
+ * For object types, this properly JSON-stringifies them (not [object Object]).
139
+ * InvalidEntry records use their raw string value directly.
140
+ * @param format - Partial WalFormat configuration
141
+ * @returns Parsed WalFormat with defaults filled in
142
+ */
143
+ export declare function parseWalFormat<T extends object | string = object>(format: Partial<WalFormat<T>>): WalFormat<T>;
144
+ /**
145
+ * Determines if this process is the leader WAL process using the origin PID heuristic.
146
+ *
147
+ * The leader is the process that first enabled profiling (the one that set CP_PROFILER_ORIGIN_PID).
148
+ * All descendant processes inherit the environment but have different PIDs.
149
+ *
150
+ * @returns true if this is the leader WAL process, false otherwise
151
+ */
152
+ export declare function isLeaderWal(envVarName: string, profilerID: string): boolean;
153
+ /**
154
+ * Initialize the origin PID environment variable if not already set.
155
+ * This must be done as early as possible before any user code runs.
156
+ * Sets envVarName to the current process ID if not already defined.
157
+ */
158
+ export declare function setLeaderWal(envVarName: string, profilerID: string): void;
159
+ /**
160
+ * Generates a human-readable shard ID.
161
+ * This ID is unique per process/thread/shard combination and used in the file name.
162
+ * Format: readable-timestamp.pid.threadId.shardCount
163
+ * Example: "20240101-120000-000.12345.1.1"
164
+ * Becomes file: trace.20240101-120000-000.12345.1.1.log
165
+ */
166
+ export declare function getShardId(): string;
167
+ /**
168
+ * Generates a human-readable sharded group ID.
169
+ * This ID is a globally unique, sortable, human-readable date string per run.
170
+ * Used directly as the folder name to group shards.
171
+ * Format: yyyymmdd-hhmmss-ms
172
+ * Example: "20240101-120000-000"
173
+ */
174
+ export declare function getShardedGroupId(): string;
175
+ /**
176
+ * Regex patterns for validating WAL ID formats
177
+ */
178
+ export declare const WAL_ID_PATTERNS: {
179
+ /** Readable date format: yyyymmdd-hhmmss-ms */
180
+ readonly READABLE_DATE: RegExp;
181
+ /** Group ID format: yyyymmdd-hhmmss-ms */
182
+ readonly GROUP_ID: RegExp;
183
+ /** Shard ID format: readable-date.pid.threadId.count */
184
+ readonly SHARD_ID: RegExp;
185
+ };
186
+ export declare function sortableReadableDateString(timestampMs: string): string;
187
+ /**
188
+ * Generates a path to a shard file using human-readable IDs.
189
+ * Both groupId and shardId are already in readable date format.
190
+ *
191
+ * Example with groupId "20240101-120000-000" and shardId "20240101-120000-000.12345.1.1":
192
+ * Full path: /base/20240101-120000-000/trace.20240101-120000-000.12345.1.1.log
193
+ *
194
+ * @param opt.dir - The directory to store the shard file
195
+ * @param opt.format - The WalFormat to use for the shard file
196
+ * @param opt.groupId - The human-readable group ID (yyyymmdd-hhmmss-ms format)
197
+ * @param opt.shardId - The human-readable shard ID (readable-timestamp.pid.threadId.count format)
198
+ * @returns The path to the shard file
199
+ */
200
+ export declare function getShardedPath<T extends object | string = object>(opt: {
201
+ dir?: string;
202
+ format: WalFormat<T>;
203
+ groupId: string;
204
+ shardId: string;
205
+ }): string;
206
+ export declare function getShardedFinalPath<T extends object | string = object>(opt: {
207
+ dir?: string;
208
+ format: WalFormat<T>;
209
+ groupId: string;
210
+ }): string;
211
+ /**
212
+ * Sharded Write-Ahead Log manager for coordinating multiple WAL shards.
213
+ * Handles distributed logging across multiple processes/files with atomic finalization.
214
+ */
215
+ export declare class ShardedWal<T extends object | string = object> {
216
+ #private;
217
+ readonly groupId: string;
218
+ /**
219
+ * Create a sharded WAL manager.
220
+ */
221
+ constructor(opt: {
222
+ dir?: string;
223
+ format: Partial<WalFormat<T>>;
224
+ groupId?: string;
225
+ });
226
+ shard(shardId?: string): WriteAheadLogFile<T>;
227
+ /** Get all shard file paths matching this WAL's base name */
228
+ private shardFiles;
229
+ /**
230
+ * Finalize all shards by merging them into a single output file.
231
+ * Recovers all records from all shards, validates no errors, and writes merged result.
232
+ * @throws Error if any shard contains decode errors
233
+ */
234
+ finalize(opt?: Record<string, unknown>): void;
235
+ cleanup(): void;
236
+ }