codequill 0.8.1-beta.4 → 0.9.1

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.
@@ -5,7 +5,7 @@ import { colors, shortCommit, spinner } from '../services/ui.js';
5
5
  import { apiClient } from '../services/apiClient.js';
6
6
  import { assertAuthenticated } from '../services/utilities.js';
7
7
  import { detectGitRepo } from '../services/git.js';
8
- import { fileExists } from '../services/fs.js';
8
+ import { fileExists, createDeterministicTarGz } from '../services/fs.js';
9
9
  import { waitForTxConfirmation } from '../services/txWaiter.js';
10
10
  import { confirmDangerousAction } from '../services/confirm.js';
11
11
  import { promptInput } from '../services/prompt.js';
@@ -37,227 +37,260 @@ export async function handleAttest(buildPath, releaseId, opts) {
37
37
  process.exitCode = 1;
38
38
  return;
39
39
  }
40
- const relId = String(releaseId || '').trim();
41
- if (!relId) {
42
- console.error(colors.error('Missing <releaseId>.'));
43
- process.exitCode = 1;
44
- return;
45
- }
46
- // Normalize manual upstreams early (repeatable --upstream)
47
- const manualUpstreams = normalizePurls(opts.upstreams ?? []);
48
- // 2) Fetch release info & all its snapshots meta (must be fully published/anchored or FAIL)
49
- const sRel = spinner('Fetching release info ...', opts.json);
50
- let releaseMeta;
51
- let releaseManifest;
52
- try {
53
- const bundle = await fetchReleaseBundle(relId);
54
- releaseMeta = bundle.meta;
55
- releaseManifest = bundle.manifest;
56
- sRel.succeed(colors.success(`Release "${releaseMeta.name}" found.`));
57
- }
58
- catch (e) {
59
- sRel.fail(colors.error('Release not found or not ready.'));
60
- console.error(colors.error(String(e?.message || e)));
61
- process.exitCode = 1;
62
- return;
63
- }
64
- const snapshotMetas = [];
65
- const sSnaps = spinner(`Verifying ${releaseManifest.sources.length} snapshot(s) ...`, opts.json);
66
- try {
67
- for (const source of releaseManifest.sources) {
68
- const sid = source.id;
69
- const meta = await fetchSnapshot(sid);
70
- snapshotMetas.push(meta);
40
+ // Detect directory vs file — auto-tar directories for attestation
41
+ const buildStat = await fs.stat(buildAbs);
42
+ const isDir = buildStat.isDirectory();
43
+ let effectiveBuildPath = buildAbs;
44
+ let tempArchive = null;
45
+ if (isDir) {
46
+ const sTar = spinner('Archiving directory (deterministic tar.gz) ...', opts.json);
47
+ try {
48
+ tempArchive = await createDeterministicTarGz(buildAbs);
49
+ sTar.succeed(colors.success(`Archived ${path.basename(tempArchive)}`));
50
+ effectiveBuildPath = tempArchive;
71
51
  }
72
- sSnaps.succeed(colors.success(`All ${snapshotMetas.length} snapshot(s) are anchored.`));
73
- }
74
- catch (e) {
75
- sSnaps.fail(colors.error('One or more snapshots are not ready.'));
76
- console.error(colors.error(String(e?.message || e)));
77
- if (!opts.json) {
78
- console.error(colors.dim('Tip: make sure all snapshots in the release are published and confirmed.'));
52
+ catch (e) {
53
+ sTar.fail(colors.error('Failed to archive directory.'));
54
+ console.error(colors.error(String(e?.message || e)));
55
+ process.exitCode = 1;
56
+ return;
79
57
  }
80
- process.exitCode = 1;
81
- return;
82
58
  }
83
- // 3) Compute artifact sha256 hex digest + metadata
84
- const sHash = spinner('Hashing artifact (sha256) ...', opts.json);
85
- let artifactDigest;
86
- let artifactSize = 0;
87
59
  try {
88
- const fh = await fs.open(buildAbs, 'r');
89
- const stat = await fh.stat();
90
- artifactSize = Number(stat.size || 0);
91
- artifactDigest = await sha256File(buildAbs);
92
- sHash.succeed(colors.success(`sha256: ${artifactDigest.slice(0, 16)}… (${artifactSize} bytes)`));
93
- }
94
- catch (e) {
95
- sHash.fail(colors.error('Failed to hash artifact.'));
96
- console.error(colors.error(String(e?.message || e)));
97
- process.exitCode = 1;
98
- return;
99
- }
100
- // 4) Build subject (explicit, interactive or repository-derived fallback)
101
- const subject = await buildSubject({
102
- repoRoot: git.root,
103
- artifactPathAbs: buildAbs,
104
- artifactDigestHex: artifactDigest,
105
- snapshotMeta: snapshotMetas[0],
106
- subjectName: opts.subjectName,
107
- subjectVersion: opts.subjectVersion,
108
- noConfirm: opts.noConfirm,
109
- });
110
- // 5) Resolve upstreams (MANUAL ONLY; no lockfile-derived deps)
111
- let upstreams;
112
- const mergedPurls = normalizePurls(opts.upstreams ?? []);
113
- if (mergedPurls.length > 0) {
114
- const sUp = spinner('Resolving upstream attestations ...', opts.json);
60
+ const relId = String(releaseId || '').trim();
61
+ if (!relId) {
62
+ console.error(colors.error('Missing <releaseId>.'));
63
+ process.exitCode = 1;
64
+ return;
65
+ }
66
+ // Normalize manual upstreams early (repeatable --upstream)
67
+ const manualUpstreams = normalizePurls(opts.upstreams ?? []);
68
+ // 2) Fetch release info & all its snapshots meta (must be fully published/anchored or FAIL)
69
+ const sRel = spinner('Fetching release info ...', opts.json);
70
+ let releaseMeta;
71
+ let releaseManifest;
115
72
  try {
116
- const resolved = await resolveUpstreamsByPurl(mergedPurls);
117
- upstreams = resolved.map((r) => ({
118
- purl: r.purl,
119
- attestation: {
120
- attestation_id: r.attestation_id,
121
- artifact_digest: r.artifact_digest,
122
- chain_id: r.chain_id,
123
- tx_hash: r.tx_hash,
124
- explorer_url: r.explorer_url,
125
- },
126
- }));
127
- sUp.succeed(colors.success(`Upstreams: ${upstreams.length}/${mergedPurls.length} resolved on CodeQuill`));
73
+ const bundle = await fetchReleaseBundle(relId);
74
+ releaseMeta = bundle.meta;
75
+ releaseManifest = bundle.manifest;
76
+ sRel.succeed(colors.success(`Release "${releaseMeta.name}" found.`));
128
77
  }
129
78
  catch (e) {
130
- sUp.fail(colors.error('Failed to resolve upstreams.'));
79
+ sRel.fail(colors.error('Release not found or not ready.'));
131
80
  console.error(colors.error(String(e?.message || e)));
132
81
  process.exitCode = 1;
133
82
  return;
134
83
  }
135
- }
136
- // 6) Build manifest JSON (locked v1)
137
- const manifest = buildAttestationManifest({
138
- release: releaseMeta,
139
- snapshots: snapshotMetas,
140
- artifact: {
141
- algorithm: 'sha256',
142
- digest: artifactDigest,
143
- name: path.basename(buildAbs),
144
- size: artifactSize,
145
- media_type: guessMediaType(buildAbs),
146
- },
147
- subject,
148
- upstreams
149
- });
150
- // 7) Serialize + gzip (like publish)
151
- const rawJson = Buffer.from(JSON.stringify(manifest, null, 2), 'utf8');
152
- const sGz = spinner('Compressing attestation manifest (gzip) ...', opts.json);
153
- let gzBytes;
154
- try {
155
- gzBytes = gzipSync(rawJson, { level: 9 });
156
- sGz.succeed(colors.success(`Compressed (${rawJson.length} → ${gzBytes.length} bytes).`));
157
- }
158
- catch (e) {
159
- sGz.fail(colors.error('Failed to gzip manifest.'));
160
- console.error(colors.error(String(e?.message || e)));
161
- process.exitCode = 1;
162
- return;
163
- }
164
- // 7.5) Human confirmation (default NO)
165
- if (!opts.noConfirm && !opts.json) {
166
- const ok = await confirmDangerousAction('You are about to create an irreversible attestation', [
167
- ` Release ${releaseMeta.name} (${releaseMeta.release_id})`,
168
- ` Snapshots ${snapshotMetas.length}`,
169
- ` Artifact ${path.relative(process.cwd(), buildAbs)}`,
170
- ` Digest ${artifactDigest}`,
171
- ` PURL ${subject.purl}`,
172
- ` Upstreams ${upstreams?.length ?? 0}`,
173
- ], 'This action will permanently anchor a claim on-chain.');
174
- if (!ok) {
175
- log(colors.dim('Attestation cancelled.'));
84
+ const snapshotMetas = [];
85
+ const sSnaps = spinner(`Verifying ${releaseManifest.sources.length} snapshot(s) ...`, opts.json);
86
+ try {
87
+ for (const source of releaseManifest.sources) {
88
+ const sid = source.id;
89
+ const meta = await fetchSnapshot(sid);
90
+ snapshotMetas.push(meta);
91
+ }
92
+ sSnaps.succeed(colors.success(`All ${snapshotMetas.length} snapshot(s) are anchored.`));
93
+ }
94
+ catch (e) {
95
+ sSnaps.fail(colors.error('One or more snapshots are not ready.'));
96
+ console.error(colors.error(String(e?.message || e)));
97
+ if (!opts.json) {
98
+ console.error(colors.dim('Tip: make sure all snapshots in the release are published and confirmed.'));
99
+ }
100
+ process.exitCode = 1;
176
101
  return;
177
102
  }
178
- }
179
- // 8) Upload attestation manifest
180
- const sPub = spinner('Publishing attestation ...', opts.json);
181
- let res;
182
- try {
183
- const form = new FormData();
184
- form.append('release_id', releaseMeta.release_id);
185
- form.append('artifact_digest', artifactDigest);
186
- form.append('subject_purl', subject.purl);
187
- form.append('version', manifest.version);
188
- form.append('manifest_encoding', 'gzip');
189
- const gzFilename = `attestation-${artifactDigest.slice(0, 12)}.json.gz`;
190
- const file = new File([new Uint8Array(gzBytes)], gzFilename, { type: 'application/gzip' });
191
- form.append('manifest', file);
192
- res = await apiClient.postMultipart('/v1/cli/attest', form);
193
- sPub.succeed(colors.success('Attestation submitted.'));
194
- }
195
- catch (e) {
196
- sPub.fail(colors.error('Attestation failed.'));
197
- console.error(colors.error(String(e?.message || e)));
198
- process.exitCode = 1;
199
- return;
200
- }
201
- // 9) Output
202
- if (opts.json) {
203
- console.log(JSON.stringify(res, null, 2));
204
- }
205
- else {
206
- console.log('');
207
- console.log(colors.bold('🧾 Attestation started'));
208
- console.log(colors.dim('────────────────────────────────────────'));
209
- console.log(colors.dim('Release'));
210
- console.log(` Release ID ${releaseMeta.release_id}`);
211
- console.log(` Name ${releaseMeta.name}`);
212
- console.log('');
213
- console.log(colors.dim(`Snapshots (${snapshotMetas.length})`));
214
- for (const s of snapshotMetas) {
215
- console.log(` - ${s.snapshot_id} (${s.repository_name} @ ${shortCommit(s.commit_hash)})`);
103
+ // 3) Compute artifact sha256 hex digest + metadata
104
+ const sHash = spinner('Hashing artifact (sha256) ...', opts.json);
105
+ let artifactDigest;
106
+ let artifactSize = 0;
107
+ try {
108
+ const fh = await fs.open(effectiveBuildPath, 'r');
109
+ try {
110
+ const stat = await fh.stat();
111
+ artifactSize = Number(stat.size || 0);
112
+ }
113
+ finally {
114
+ await fh.close();
115
+ }
116
+ artifactDigest = await sha256File(effectiveBuildPath);
117
+ sHash.succeed(colors.success(`sha256: ${artifactDigest.slice(0, 16)}… (${artifactSize} bytes)`));
216
118
  }
217
- console.log('');
218
- console.log(colors.dim('Artifact'));
219
- console.log(` File ${path.relative(process.cwd(), buildAbs)}`);
220
- console.log(` Digest ${artifactDigest}`);
221
- console.log(` Algorithm sha256`);
222
- console.log('');
223
- console.log(colors.dim('Subject'));
224
- console.log(` PURL ${subject.purl}`);
225
- console.log(` Name ${subject.name}`);
226
- console.log(` Version ${subject.version}`);
227
- if (upstreams && upstreams.length > 0) {
228
- console.log('');
229
- console.log(colors.dim('Upstreams'));
230
- for (const u of upstreams) {
231
- console.log(` ${u.purl}`);
119
+ catch (e) {
120
+ sHash.fail(colors.error('Failed to hash artifact.'));
121
+ console.error(colors.error(String(e?.message || e)));
122
+ process.exitCode = 1;
123
+ return;
124
+ }
125
+ // 4) Build subject (explicit, interactive or repository-derived fallback)
126
+ const subject = await buildSubject({
127
+ repoRoot: git.root,
128
+ artifactPathAbs: buildAbs,
129
+ artifactDigestHex: artifactDigest,
130
+ snapshotMeta: snapshotMetas[0],
131
+ releaseMeta,
132
+ subjectName: opts.subjectName,
133
+ subjectVersion: opts.subjectVersion,
134
+ noConfirm: opts.noConfirm,
135
+ });
136
+ // 5) Resolve upstreams (MANUAL ONLY; no lockfile-derived deps)
137
+ let upstreams;
138
+ const mergedPurls = normalizePurls(opts.upstreams ?? []);
139
+ if (mergedPurls.length > 0) {
140
+ const sUp = spinner('Resolving upstream attestations ...', opts.json);
141
+ try {
142
+ const resolved = await resolveUpstreamsByPurl(mergedPurls);
143
+ upstreams = resolved.map((r) => ({
144
+ purl: r.purl,
145
+ attestation: {
146
+ attestation_id: r.attestation_id,
147
+ artifact_digest: r.artifact_digest,
148
+ chain_id: r.chain_id,
149
+ tx_hash: r.tx_hash,
150
+ explorer_url: r.explorer_url,
151
+ },
152
+ }));
153
+ sUp.succeed(colors.success(`Upstreams: ${upstreams.length}/${mergedPurls.length} resolved on CodeQuill`));
154
+ }
155
+ catch (e) {
156
+ sUp.fail(colors.error('Failed to resolve upstreams.'));
157
+ console.error(colors.error(String(e?.message || e)));
158
+ process.exitCode = 1;
159
+ return;
232
160
  }
233
161
  }
234
- console.log('');
235
- console.log(colors.dim('Chain'));
236
- console.log(` Tx Hash ${res.tx_hash}`);
237
- if (res.chain_id)
238
- console.log(` Chain ID ${res.chain_id}`);
239
- if (res.explorer_url)
240
- console.log(` Explorer ${res.explorer_url}`);
241
- console.log(colors.dim('────────────────────────────────────────'));
242
- }
243
- if (opts.noWait) {
244
- log(colors.dim('Note: skipping confirmation wait (--no-wait).'));
245
- return;
246
- }
247
- // 10) Wait confirmation
248
- const confTarget = Math.max(1, Number(opts.confirmations ?? 1));
249
- try {
250
- await waitForTxConfirmation({
251
- txHash: res.tx_hash,
252
- confirmations: confTarget,
253
- timeoutMs: opts.timeoutMs,
254
- silent: opts.json,
162
+ // 6) Build manifest JSON (locked v1)
163
+ const manifest = buildAttestationManifest({
164
+ release: releaseMeta,
165
+ snapshots: snapshotMetas,
166
+ artifact: {
167
+ algorithm: 'sha256',
168
+ digest: artifactDigest,
169
+ name: isDir ? `${path.basename(buildAbs)}.tar.gz` : path.basename(buildAbs),
170
+ size: artifactSize,
171
+ media_type: isDir ? 'application/gzip' : guessMediaType(buildAbs),
172
+ },
173
+ subject,
174
+ upstreams
255
175
  });
256
- log(colors.success(`✓ Confirmed on-chain (${confTarget} confirmation${confTarget > 1 ? 's' : ''}).`));
176
+ // 7) Serialize + gzip (like publish)
177
+ const rawJson = Buffer.from(JSON.stringify(manifest, null, 2), 'utf8');
178
+ const sGz = spinner('Compressing attestation manifest (gzip) ...', opts.json);
179
+ let gzBytes;
180
+ try {
181
+ gzBytes = gzipSync(rawJson, { level: 9 });
182
+ sGz.succeed(colors.success(`Compressed (${rawJson.length} → ${gzBytes.length} bytes).`));
183
+ }
184
+ catch (e) {
185
+ sGz.fail(colors.error('Failed to gzip manifest.'));
186
+ console.error(colors.error(String(e?.message || e)));
187
+ process.exitCode = 1;
188
+ return;
189
+ }
190
+ // 7.5) Human confirmation (default NO)
191
+ if (!opts.noConfirm && !opts.json) {
192
+ const ok = await confirmDangerousAction('You are about to create an irreversible attestation', [
193
+ ` Release ${releaseMeta.name} (${releaseMeta.release_id})`,
194
+ ` Snapshots ${snapshotMetas.length}`,
195
+ ` Artifact ${path.relative(process.cwd(), buildAbs)}${isDir ? ' (directory)' : ''}`,
196
+ ` Digest ${artifactDigest}`,
197
+ ` PURL ${subject.purl}`,
198
+ ` Upstreams ${upstreams?.length ?? 0}`,
199
+ ], 'This action will permanently anchor a claim on-chain.');
200
+ if (!ok) {
201
+ log(colors.dim('Attestation cancelled.'));
202
+ return;
203
+ }
204
+ }
205
+ // 8) Upload attestation manifest
206
+ const sPub = spinner('Publishing attestation ...', opts.json);
207
+ let res;
208
+ try {
209
+ const form = new FormData();
210
+ form.append('release_id', releaseMeta.release_id);
211
+ form.append('artifact_digest', artifactDigest);
212
+ form.append('subject_purl', subject.purl);
213
+ form.append('version', manifest.version);
214
+ form.append('manifest_encoding', 'gzip');
215
+ const gzFilename = `attestation-${artifactDigest.slice(0, 12)}.json.gz`;
216
+ const file = new File([new Uint8Array(gzBytes)], gzFilename, { type: 'application/gzip' });
217
+ form.append('manifest', file);
218
+ res = await apiClient.postMultipart('/v1/cli/attest', form);
219
+ sPub.succeed(colors.success('Attestation submitted.'));
220
+ }
221
+ catch (e) {
222
+ sPub.fail(colors.error('Attestation failed.'));
223
+ console.error(colors.error(String(e?.message || e)));
224
+ process.exitCode = 1;
225
+ return;
226
+ }
227
+ // 9) Output
228
+ if (opts.json) {
229
+ console.log(JSON.stringify(res, null, 2));
230
+ }
231
+ else {
232
+ console.log('');
233
+ console.log(colors.bold('🧾 Attestation started'));
234
+ console.log(colors.dim('────────────────────────────────────────'));
235
+ console.log(colors.dim('Release'));
236
+ console.log(` Release ID ${releaseMeta.release_id}`);
237
+ console.log(` Name ${releaseMeta.name}`);
238
+ console.log('');
239
+ console.log(colors.dim(`Snapshots (${snapshotMetas.length})`));
240
+ for (const s of snapshotMetas) {
241
+ console.log(` - ${s.snapshot_id} (${s.repository_name} @ ${shortCommit(s.commit_hash)})`);
242
+ }
243
+ console.log('');
244
+ console.log(colors.dim('Artifact'));
245
+ console.log(` File ${path.relative(process.cwd(), buildAbs)}${isDir ? ' (directory → tar.gz)' : ''}`);
246
+ console.log(` Digest ${artifactDigest}`);
247
+ console.log(` Algorithm sha256`);
248
+ console.log('');
249
+ console.log(colors.dim('Subject'));
250
+ console.log(` PURL ${subject.purl}`);
251
+ console.log(` Name ${subject.name}`);
252
+ console.log(` Version ${subject.version}`);
253
+ if (upstreams && upstreams.length > 0) {
254
+ console.log('');
255
+ console.log(colors.dim('Upstreams'));
256
+ for (const u of upstreams) {
257
+ console.log(` ${u.purl}`);
258
+ }
259
+ }
260
+ console.log('');
261
+ console.log(colors.dim('Chain'));
262
+ console.log(` Tx Hash ${res.tx_hash}`);
263
+ if (res.chain_id)
264
+ console.log(` Chain ID ${res.chain_id}`);
265
+ if (res.explorer_url)
266
+ console.log(` Explorer ${res.explorer_url}`);
267
+ console.log(colors.dim('────────────────────────────────────────'));
268
+ }
269
+ if (opts.noWait) {
270
+ log(colors.dim('Note: skipping confirmation wait (--no-wait).'));
271
+ return;
272
+ }
273
+ // 10) Wait confirmation
274
+ const confTarget = Math.max(1, Number(opts.confirmations ?? 1));
275
+ try {
276
+ await waitForTxConfirmation({
277
+ txHash: res.tx_hash,
278
+ confirmations: confTarget,
279
+ timeoutMs: opts.timeoutMs,
280
+ silent: opts.json,
281
+ });
282
+ log(colors.success(`✓ Confirmed on-chain (${confTarget} confirmation${confTarget > 1 ? 's' : ''}).`));
283
+ }
284
+ catch (e) {
285
+ console.error(colors.error(String(e?.message || e)));
286
+ process.exitCode = 1;
287
+ }
257
288
  }
258
- catch (e) {
259
- console.error(colors.error(String(e?.message || e)));
260
- process.exitCode = 1;
289
+ finally {
290
+ // Clean up temporary archive created for directory attestation
291
+ if (tempArchive) {
292
+ await fs.unlink(tempArchive).catch(() => { });
293
+ }
261
294
  }
262
295
  }
263
296
  export function registerAttestCommand(program) {
@@ -325,24 +358,29 @@ function guessMediaType(p) {
325
358
  }
326
359
  async function buildSubject(args) {
327
360
  const repoNameRaw = String(args.snapshotMeta.repository_name || '').trim();
328
- // 1) If explicit name/version is given, use it.
361
+ const releaseName = String(args.releaseMeta.name || '').trim();
362
+ // 1) If explicit name/version is given, use it (release name as fallback for version).
329
363
  if (args.subjectName || args.subjectVersion) {
330
364
  const name = args.subjectName || 'unknown';
331
- const version = args.subjectVersion || 'unknown';
365
+ const version = args.subjectVersion || releaseName || 'unknown';
332
366
  const purl = toSubjectId(repoNameRaw, name, version);
333
367
  return { purl, name, version };
334
368
  }
335
- // 2) If not CI, ask interactively
369
+ // 2) If not CI, ask interactively (release name as default for version prompt).
336
370
  if (!args.noConfirm && process.stdin.isTTY) {
337
371
  console.log(colors.info('\nNo subject provided. Please enter subject details:'));
338
372
  const name = await promptInput('Subject Name', { defaultValue: path.basename(args.artifactPathAbs) });
339
- const version = await promptInput('Subject Version', { defaultValue: '1.0.0' });
373
+ const version = await promptInput('Subject Version', { defaultValue: releaseName || '1.0.0' });
340
374
  const purl = toSubjectId(repoNameRaw, name, version);
341
375
  return { purl, name, version };
342
376
  }
343
- // 3) CI fallback: use repository-derived identity
344
- const commit = String(args.snapshotMeta.commit_hash || '').trim();
377
+ // 3) CI fallback: release name > commit hash > digest
345
378
  const baseName = path.basename(args.artifactPathAbs) || 'artifact';
379
+ if (releaseName) {
380
+ const purl = toSubjectId(repoNameRaw, baseName, releaseName);
381
+ return { purl, name: baseName, version: releaseName };
382
+ }
383
+ const commit = String(args.snapshotMeta.commit_hash || '').trim();
346
384
  if (commit) {
347
385
  const purl = toSubjectId(repoNameRaw, baseName, commit);
348
386
  return { purl, name: baseName, version: commit };
@@ -1 +1 @@
1
- {"version":3,"file":"attest.js","sourceRoot":"","sources":["../../src/commands/attest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attest.js","sourceRoot":"","sources":["../../src/commands/attest.ts"],"names":[],"mappings":"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"}
@@ -336,7 +336,7 @@ async function wrapDekForWorkspace(publicKeyB64, dek) {
336
336
  async function gitArchiveToTarGz(args) {
337
337
  await new Promise((resolve, reject) => {
338
338
  const git = spawn('git', ['archive', '--format=tar', args.commitHash], { cwd: args.repoRoot });
339
- const gzip = spawn('gzip', ['-9'], { cwd: args.repoRoot });
339
+ const gzip = spawn('gzip', ['-9', '-n'], { cwd: args.repoRoot });
340
340
  const out = createWriteStream(args.outTarGzAbs);
341
341
  let err = '';
342
342
  git.stderr.on('data', (d) => (err += d.toString()));