fg-tracker-sdk 0.16.1 → 0.17.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 +7 -0
- package/dist/cli/sourcemaps.js +119 -12
- package/dist/cli/sourcemaps.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog — fg-tracker-sdk
|
|
2
2
|
|
|
3
|
+
## 0.17.0
|
|
4
|
+
|
|
5
|
+
Upload de source maps por gzip com limites de transporte explícitos (T08).
|
|
6
|
+
|
|
7
|
+
- O CLI `fg-tracker-sourcemaps` aceita mapas de até 15 MiB, mede o envelope JSON depois de gzip e envia lotes cujo corpo final cabe em 4 MiB, respeitando também 32 MiB descomprimidos. Um mapa que não cabe sozinho é recusado antes de qualquer envio.
|
|
8
|
+
- A API aceita JSON identity legado ou gzip na rota de source maps, limita o corpo recebido antes de acumular bytes descomprimidos e preserva mapas como texto ou objeto. Os limites são próprios da rota.
|
|
9
|
+
|
|
3
10
|
## 0.16.1
|
|
4
11
|
|
|
5
12
|
Correção de compatibilidade do `node:http` (CONTRATO.md §16, T119). Nada removido, nenhuma opção nova.
|
package/dist/cli/sourcemaps.js
CHANGED
|
@@ -11,9 +11,16 @@
|
|
|
11
11
|
* (caminho público onde os JS ficam; `~` = qualquer host; default `~`), --endpoint,
|
|
12
12
|
* --api-key, --dry-run.
|
|
13
13
|
*/
|
|
14
|
-
import { readdirSync,
|
|
14
|
+
import { closeSync, fstatSync, openSync, readdirSync, readSync, statSync } from 'node:fs';
|
|
15
|
+
import { createHash } from 'node:crypto';
|
|
15
16
|
import { join, relative } from 'node:path';
|
|
17
|
+
import { gzipSync } from 'node:zlib';
|
|
16
18
|
import { API_KEY_HEADER, DEFAULT_ENDPOINT, readEnv, warnLegacyBin } from '../constants.js';
|
|
19
|
+
const MIB = 1024 * 1024;
|
|
20
|
+
const MAX_MAP_BYTES = 15 * MIB;
|
|
21
|
+
const MAX_WIRE_BYTES = 4 * MIB;
|
|
22
|
+
const MAX_DECODED_BYTES = 32 * MIB;
|
|
23
|
+
const MAX_FILES_PER_BATCH = 20;
|
|
17
24
|
function parseArgs(argv) {
|
|
18
25
|
const args = {};
|
|
19
26
|
for (let i = 0; i < argv.length; i += 1) {
|
|
@@ -40,6 +47,81 @@ function walk(dir, out = []) {
|
|
|
40
47
|
}
|
|
41
48
|
return out;
|
|
42
49
|
}
|
|
50
|
+
function readMap(file) {
|
|
51
|
+
const descriptor = openSync(file, 'r');
|
|
52
|
+
try {
|
|
53
|
+
if (fstatSync(descriptor).size > MAX_MAP_BYTES)
|
|
54
|
+
throw new Error('Mapa excede o limite de 15 MiB por arquivo.');
|
|
55
|
+
const chunks = [];
|
|
56
|
+
let total = 0;
|
|
57
|
+
while (total <= MAX_MAP_BYTES) {
|
|
58
|
+
const chunk = Buffer.allocUnsafe(Math.min(64 * 1024, MAX_MAP_BYTES + 1 - total));
|
|
59
|
+
const read = readSync(descriptor, chunk, 0, chunk.length, total);
|
|
60
|
+
if (read === 0)
|
|
61
|
+
break;
|
|
62
|
+
total += read;
|
|
63
|
+
if (total > MAX_MAP_BYTES)
|
|
64
|
+
throw new Error('Mapa excede o limite de 15 MiB por arquivo.');
|
|
65
|
+
chunks.push(chunk.subarray(0, read));
|
|
66
|
+
}
|
|
67
|
+
return Buffer.concat(chunks, total);
|
|
68
|
+
}
|
|
69
|
+
finally {
|
|
70
|
+
closeSync(descriptor);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
function decodeMap(bytes) {
|
|
74
|
+
try {
|
|
75
|
+
return new TextDecoder('utf-8', { fatal: true }).decode(bytes);
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
throw new Error('Arquivo .map não está em UTF-8 válido.');
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
function jsonFor(release, files) {
|
|
82
|
+
return JSON.stringify({ release, files });
|
|
83
|
+
}
|
|
84
|
+
function encodeBody(release, files) {
|
|
85
|
+
const json = jsonFor(release, files);
|
|
86
|
+
const decodedBytes = Buffer.byteLength(json, 'utf8');
|
|
87
|
+
if (decodedBytes > MAX_DECODED_BYTES)
|
|
88
|
+
throw new Error('Corpo descomprimido do lote excede 32 MiB.');
|
|
89
|
+
const body = gzipSync(Buffer.from(json, 'utf8'));
|
|
90
|
+
if (body.byteLength > MAX_WIRE_BYTES)
|
|
91
|
+
throw new Error('Corpo gzip do lote excede 4 MiB.');
|
|
92
|
+
return body;
|
|
93
|
+
}
|
|
94
|
+
function envelopeBytes(release, files) {
|
|
95
|
+
const emptyEnvelopeBytes = Buffer.byteLength(jsonFor(release, []), 'utf8');
|
|
96
|
+
return emptyEnvelopeBytes - 2 + files.reduce((total, file) => total + Buffer.byteLength(JSON.stringify(file), 'utf8'), 0)
|
|
97
|
+
+ Math.max(0, files.length - 1);
|
|
98
|
+
}
|
|
99
|
+
function fileEnvelopeBytes(release, file) {
|
|
100
|
+
return envelopeBytes(release, [file]);
|
|
101
|
+
}
|
|
102
|
+
function hash(bytes) {
|
|
103
|
+
return createHash('sha256').update(bytes).digest('hex');
|
|
104
|
+
}
|
|
105
|
+
function mapPath(prefix, dir, file) {
|
|
106
|
+
return `${prefix}/${relative(dir, file).replace(/\\/g, '/').replace(/\.map$/, '')}`;
|
|
107
|
+
}
|
|
108
|
+
function preflightMap(file, dir, prefix, release) {
|
|
109
|
+
const bytes = readMap(file);
|
|
110
|
+
const map = decodeMap(bytes);
|
|
111
|
+
const uploadFile = { path: mapPath(prefix, dir, file), map };
|
|
112
|
+
if (fileEnvelopeBytes(release, uploadFile) > MAX_DECODED_BYTES) {
|
|
113
|
+
throw new Error('Corpo descomprimido de um mapa excede 32 MiB.');
|
|
114
|
+
}
|
|
115
|
+
encodeBody(release, [uploadFile]);
|
|
116
|
+
return { path: uploadFile.path, file, bytes: bytes.byteLength, digest: hash(bytes) };
|
|
117
|
+
}
|
|
118
|
+
function loadPreflightedMap(file) {
|
|
119
|
+
const bytes = readMap(file.file);
|
|
120
|
+
if (bytes.byteLength !== file.bytes || hash(bytes) !== file.digest) {
|
|
121
|
+
throw new Error('Um arquivo .map mudou durante a preparação do upload. Execute novamente o CLI.');
|
|
122
|
+
}
|
|
123
|
+
return { path: file.path, map: decodeMap(bytes) };
|
|
124
|
+
}
|
|
43
125
|
async function main() {
|
|
44
126
|
warnLegacyBin('fg-tracker-sourcemaps');
|
|
45
127
|
const args = parseArgs(process.argv.slice(2));
|
|
@@ -61,13 +143,10 @@ async function main() {
|
|
|
61
143
|
console.error(`Nenhum .map encontrado em ${dir}`);
|
|
62
144
|
process.exit(1);
|
|
63
145
|
}
|
|
64
|
-
const
|
|
65
|
-
path: `${prefix}/${relative(dir, file).replace(/\\/g, '/').replace(/\.map$/, '')}`,
|
|
66
|
-
map: readFileSync(file, 'utf8'),
|
|
67
|
-
}));
|
|
146
|
+
const preflighted = maps.map((file) => preflightMap(file, dir, prefix, release));
|
|
68
147
|
if (args['dry-run']) {
|
|
69
|
-
for (const file of
|
|
70
|
-
console.log(`${file.path} (${Math.round(file.
|
|
148
|
+
for (const file of preflighted)
|
|
149
|
+
console.log(`${file.path} (${Math.round(file.bytes / 1024)} KB)`);
|
|
71
150
|
return;
|
|
72
151
|
}
|
|
73
152
|
if (!apiKey) {
|
|
@@ -75,20 +154,48 @@ async function main() {
|
|
|
75
154
|
process.exit(2);
|
|
76
155
|
}
|
|
77
156
|
let accepted = 0;
|
|
78
|
-
|
|
79
|
-
|
|
157
|
+
let batch = [];
|
|
158
|
+
let batchBody = null;
|
|
159
|
+
const sendBatch = async () => {
|
|
160
|
+
if (!batchBody || batch.length === 0)
|
|
161
|
+
return;
|
|
80
162
|
const res = await fetch(`${endpoint}/v1/sourcemaps`, {
|
|
81
163
|
method: 'POST',
|
|
82
|
-
headers: { 'content-type': 'application/json', [API_KEY_HEADER]: apiKey },
|
|
83
|
-
body:
|
|
164
|
+
headers: { 'content-type': 'application/json', 'content-encoding': 'gzip', [API_KEY_HEADER]: apiKey },
|
|
165
|
+
body: batchBody,
|
|
84
166
|
signal: AbortSignal.timeout(60_000),
|
|
85
167
|
});
|
|
86
168
|
if (!res.ok) {
|
|
87
|
-
console.error(`Falha no upload (${res.status})
|
|
169
|
+
console.error(`Falha no upload de source maps (${res.status}).`);
|
|
88
170
|
process.exit(1);
|
|
89
171
|
}
|
|
90
172
|
accepted += (await res.json()).accepted;
|
|
173
|
+
batch = [];
|
|
174
|
+
batchBody = null;
|
|
175
|
+
};
|
|
176
|
+
for (const file of preflighted) {
|
|
177
|
+
const uploadFile = loadPreflightedMap(file);
|
|
178
|
+
let candidate = [...batch, uploadFile];
|
|
179
|
+
let candidateBody = null;
|
|
180
|
+
const decodedBytes = envelopeBytes(release, candidate);
|
|
181
|
+
if (batch.length < MAX_FILES_PER_BATCH && decodedBytes <= MAX_DECODED_BYTES) {
|
|
182
|
+
try {
|
|
183
|
+
candidateBody = encodeBody(release, candidate);
|
|
184
|
+
}
|
|
185
|
+
catch (error) {
|
|
186
|
+
if (!(error instanceof Error) || !/excede 4 MiB|excede 32 MiB/.test(error.message))
|
|
187
|
+
throw error;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
if (!candidateBody) {
|
|
191
|
+
await sendBatch();
|
|
192
|
+
candidate = [uploadFile];
|
|
193
|
+
candidateBody = encodeBody(release, candidate);
|
|
194
|
+
}
|
|
195
|
+
batch = candidate;
|
|
196
|
+
batchBody = candidateBody;
|
|
91
197
|
}
|
|
198
|
+
await sendBatch();
|
|
92
199
|
console.log(`${accepted} source maps enviados para a release ${release}.`);
|
|
93
200
|
}
|
|
94
201
|
main().catch((error) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sourcemaps.js","sourceRoot":"","sources":["../../src/cli/sourcemaps.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"sourcemaps.js","sourceRoot":"","sources":["../../src/cli/sourcemaps.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fg-tracker-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "SDK de instrumentação Node para o FG Tracker (Express, NestJS, Next.js, pg, fetch), tracing distribuído, releases, check-ins de jobs, envio de logs (pino, winston, NestJS Logger) e agregados de infraestrutura (AWS SDK v3, pool de conexões, ECS, Lambda)",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"homepage": "https://github.com/FORTGROUND/fg-tracker/tree/main/packages/sdk#readme",
|