@sanity/export 6.0.6 → 6.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,QAAQ,EAAC,MAAM,aAAa,CAAA;AAoBtD,OAAO,KAAK,EACV,aAAa,EAEb,YAAY,EAGb,MAAM,YAAY,CAAA;AAKnB;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,aAAa,GAAG;IAAC,UAAU,EAAE,QAAQ,CAAA;CAAC,GAC3C,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;AAClC,wBAAsB,aAAa,CACjC,IAAI,EAAE,aAAa,GAAG;IAAC,UAAU,EAAE,MAAM,CAAA;CAAC,GACzC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;AAChC,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;AAiS/E,KAAK,yBAAyB,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,gBAAgB,CAAC,GAAG;IACnF,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GAAG;IAAC,UAAU,EAAE,QAAQ,CAAA;CAAC,GAC1D,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;AAClC,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GAAG;IAAC,UAAU,EAAE,MAAM,CAAA;CAAC,GACxD,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;AAChC,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;AAOnG;;;;;;GAMG;+BAE+B,aAAa,KAAG,OAAO,CAAC,YAAY,CAAC;AADvE,wBAMC"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,QAAQ,EAAC,MAAM,aAAa,CAAA;AAoBtD,OAAO,KAAK,EACV,aAAa,EAEb,YAAY,EAGb,MAAM,YAAY,CAAA;AAmBnB;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,aAAa,GAAG;IAAC,UAAU,EAAE,QAAQ,CAAA;CAAC,GAC3C,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;AAClC,wBAAsB,aAAa,CACjC,IAAI,EAAE,aAAa,GAAG;IAAC,UAAU,EAAE,MAAM,CAAA;CAAC,GACzC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;AAChC,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;AAyS/E,KAAK,yBAAyB,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,gBAAgB,CAAC,GAAG;IACnF,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GAAG;IAAC,UAAU,EAAE,QAAQ,CAAA;CAAC,GAC1D,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;AAClC,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GAAG;IAAC,UAAU,EAAE,MAAM,CAAA;CAAC,GACxD,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;AAChC,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;AAOnG;;;;;;GAMG;+BAE+B,aAAa,KAAG,OAAO,CAAC,YAAY,CAAC;AADvE,wBAMC"}
package/dist/export.js CHANGED
@@ -6,7 +6,7 @@ import { PassThrough } from 'node:stream';
6
6
  import { finished, pipeline } from 'node:stream/promises';
7
7
  import { deprecate } from 'node:util';
8
8
  import { constants as zlib } from 'node:zlib';
9
- import archiver from 'archiver';
9
+ import { Pack } from 'tar';
10
10
  import { JsonStreamStringify } from 'json-stream-stringify';
11
11
  import { isWritableStream, split, throughObj } from './util/streamHelpers.js';
12
12
  import { AssetHandler } from './AssetHandler.js';
@@ -22,21 +22,20 @@ import { stringifyStream } from './stringifyStream.js';
22
22
  import { tryParseJson } from './tryParseJson.js';
23
23
  import { getSource, validateOptions } from './options.js';
24
24
  const noop = () => null;
25
+ /** Assert that a value is a readable stream (Pack from tar extends Minipass, which is pipe-compatible but not typed as a Node.js stream) */
26
+ function assertReadableStream(value) {
27
+ if (typeof value !== 'object' ||
28
+ value === null ||
29
+ !('pipe' in value) ||
30
+ typeof value.pipe !== 'function' ||
31
+ !('on' in value) ||
32
+ typeof value.on !== 'function') {
33
+ throw new TypeError('Expected a readable stream');
34
+ }
35
+ }
25
36
  export async function exportDataset(opts) {
26
37
  const options = validateOptions(opts);
27
38
  const onProgress = options.onProgress ?? noop;
28
- const archive = archiver('tar', {
29
- gzip: true,
30
- gzipOptions: {
31
- level: options.compress ? zlib.Z_DEFAULT_COMPRESSION : zlib.Z_NO_COMPRESSION,
32
- },
33
- });
34
- archive.on('warning', (err) => {
35
- debug('Archive warning: %s', err.message);
36
- });
37
- archive.on('entry', (entry) => {
38
- debug('Adding archive entry: %s', entry.name);
39
- });
40
39
  const slugDate = new Date()
41
40
  .toISOString()
42
41
  .replace(/[^a-z0-9]/gi, '-')
@@ -45,6 +44,23 @@ export async function exportDataset(opts) {
45
44
  const prefix = `${source.id}-export-${slugDate}`;
46
45
  const tmpDir = joinPath(tmpdir(), prefix);
47
46
  await mkdir(tmpDir, { recursive: true });
47
+ // Pre-create asset directories so tar.Pack.add() doesn't throw if no assets are downloaded
48
+ await mkdir(joinPath(tmpDir, 'files'), { recursive: true });
49
+ await mkdir(joinPath(tmpDir, 'images'), { recursive: true });
50
+ const archive = new Pack({
51
+ gzip: options.compress
52
+ ? { level: zlib.Z_DEFAULT_COMPRESSION }
53
+ : { level: zlib.Z_NO_COMPRESSION },
54
+ cwd: tmpDir,
55
+ prefix,
56
+ portable: true,
57
+ onwarn: (_code, message) => {
58
+ debug('Archive warning: %s', message);
59
+ },
60
+ onWriteEntry: (entry) => {
61
+ debug('Adding archive entry: %s', entry.path);
62
+ },
63
+ });
48
64
  const dataPath = joinPath(tmpDir, 'data.ndjson');
49
65
  const assetsPath = joinPath(tmpDir, 'assets.json');
50
66
  const cleanup = () => rm(tmpDir, { recursive: true, force: true }).catch((err) => {
@@ -74,6 +90,7 @@ export async function exportDataset(opts) {
74
90
  resolve = res;
75
91
  reject = rej;
76
92
  });
93
+ assertReadableStream(archive);
77
94
  finished(archive)
78
95
  .then(() => {
79
96
  debug('Archive finished');
@@ -172,7 +189,7 @@ export async function exportDataset(opts) {
172
189
  update: true,
173
190
  });
174
191
  debug('Adding data.ndjson to archive');
175
- archive.file(dataPath, { name: 'data.ndjson', prefix });
192
+ archive.add('data.ndjson');
176
193
  if (!options.raw && options.assets) {
177
194
  onProgress({ step: 'Downloading assets...' });
178
195
  }
@@ -203,7 +220,7 @@ export async function exportDataset(opts) {
203
220
  const assetsStream = createWriteStream(assetsPath);
204
221
  await pipeline(new JsonStreamStringify(assetMap), assetsStream);
205
222
  if (options.assetsMap) {
206
- archive.file(assetsPath, { name: 'assets.json', prefix });
223
+ archive.add('assets.json');
207
224
  }
208
225
  clearInterval(progressInterval);
209
226
  }
@@ -214,11 +231,11 @@ export async function exportDataset(opts) {
214
231
  return;
215
232
  }
216
233
  // Add all downloaded assets to archive
217
- archive.directory(joinPath(tmpDir, 'files'), `${prefix}/files`);
218
- archive.directory(joinPath(tmpDir, 'images'), `${prefix}/images`);
234
+ archive.add('files');
235
+ archive.add('images');
219
236
  debug('Finalizing archive, flushing streams');
220
237
  onProgress({ step: 'Adding assets to archive...' });
221
- await archive.finalize();
238
+ archive.end();
222
239
  })
223
240
  .catch(async (err) => {
224
241
  if (debugTimer !== null)
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/export",
3
- "version": "6.0.6",
3
+ "version": "6.1.0",
4
4
  "description": "Export Sanity documents and assets",
5
5
  "keywords": [
6
6
  "sanity",
@@ -47,18 +47,17 @@
47
47
  "typecheck": "tsc --noEmit"
48
48
  },
49
49
  "dependencies": {
50
- "archiver": "^7.0.1",
51
50
  "debug": "^4.3.4",
52
51
  "get-it": "^8.6.10",
53
52
  "json-stream-stringify": "^3.1.6",
54
53
  "p-queue": "^9.0.1",
54
+ "tar": "^7.5.2",
55
55
  "tar-stream": "^3.1.7"
56
56
  },
57
57
  "devDependencies": {
58
58
  "@eslint/js": "^9.39.1",
59
59
  "@sanity/client": "^7.13.1",
60
- "@sanity/semantic-release-preset": "^5.0.0",
61
- "@types/archiver": "^7.0.0",
60
+ "@sanity/semantic-release-preset": "^6.0.0",
62
61
  "@types/debug": "^4.1.12",
63
62
  "@types/node": "^20.19.0",
64
63
  "@types/tar-stream": "^3.1.3",
@@ -69,7 +68,6 @@
69
68
  "nock": "^14.0.10",
70
69
  "prettier": "^3.7.4",
71
70
  "prettier-plugin-packagejson": "^2.5.20",
72
- "tar": "^7.5.2",
73
71
  "typescript": "^5.9.3",
74
72
  "typescript-eslint": "^8.48.1",
75
73
  "vitest": "^4.0.15"
package/src/export.ts CHANGED
@@ -7,7 +7,7 @@ import {finished, pipeline} from 'node:stream/promises'
7
7
  import {deprecate} from 'node:util'
8
8
  import {constants as zlib} from 'node:zlib'
9
9
 
10
- import archiver from 'archiver'
10
+ import {Pack} from 'tar'
11
11
  import {JsonStreamStringify} from 'json-stream-stringify'
12
12
 
13
13
  import {isWritableStream, split, throughObj} from './util/streamHelpers.js'
@@ -33,6 +33,20 @@ import {getSource, validateOptions} from './options.js'
33
33
 
34
34
  const noop = (): null => null
35
35
 
36
+ /** Assert that a value is a readable stream (Pack from tar extends Minipass, which is pipe-compatible but not typed as a Node.js stream) */
37
+ function assertReadableStream(value: unknown): asserts value is NodeJS.ReadableStream {
38
+ if (
39
+ typeof value !== 'object' ||
40
+ value === null ||
41
+ !('pipe' in value) ||
42
+ typeof value.pipe !== 'function' ||
43
+ !('on' in value) ||
44
+ typeof value.on !== 'function'
45
+ ) {
46
+ throw new TypeError('Expected a readable stream')
47
+ }
48
+ }
49
+
36
50
  /**
37
51
  * Export the dataset with the given options.
38
52
  *
@@ -50,18 +64,6 @@ export async function exportDataset(opts: ExportOptions): Promise<ExportResult>
50
64
  export async function exportDataset(opts: ExportOptions): Promise<ExportResult> {
51
65
  const options = validateOptions(opts)
52
66
  const onProgress = options.onProgress ?? noop
53
- const archive = archiver('tar', {
54
- gzip: true,
55
- gzipOptions: {
56
- level: options.compress ? zlib.Z_DEFAULT_COMPRESSION : zlib.Z_NO_COMPRESSION,
57
- },
58
- })
59
- archive.on('warning', (err) => {
60
- debug('Archive warning: %s', err.message)
61
- })
62
- archive.on('entry', (entry) => {
63
- debug('Adding archive entry: %s', entry.name)
64
- })
65
67
 
66
68
  const slugDate = new Date()
67
69
  .toISOString()
@@ -72,6 +74,25 @@ export async function exportDataset(opts: ExportOptions): Promise<ExportResult>
72
74
  const prefix = `${source.id}-export-${slugDate}`
73
75
  const tmpDir = joinPath(tmpdir(), prefix)
74
76
  await mkdir(tmpDir, {recursive: true})
77
+ // Pre-create asset directories so tar.Pack.add() doesn't throw if no assets are downloaded
78
+ await mkdir(joinPath(tmpDir, 'files'), {recursive: true})
79
+ await mkdir(joinPath(tmpDir, 'images'), {recursive: true})
80
+
81
+ const archive = new Pack({
82
+ gzip: options.compress
83
+ ? {level: zlib.Z_DEFAULT_COMPRESSION}
84
+ : {level: zlib.Z_NO_COMPRESSION},
85
+ cwd: tmpDir,
86
+ prefix,
87
+ portable: true,
88
+ onwarn: (_code, message) => {
89
+ debug('Archive warning: %s', message)
90
+ },
91
+ onWriteEntry: (entry) => {
92
+ debug('Adding archive entry: %s', entry.path)
93
+ },
94
+ })
95
+
75
96
  const dataPath = joinPath(tmpDir, 'data.ndjson')
76
97
  const assetsPath = joinPath(tmpDir, 'assets.json')
77
98
 
@@ -109,6 +130,7 @@ export async function exportDataset(opts: ExportOptions): Promise<ExportResult>
109
130
  reject = rej
110
131
  })
111
132
 
133
+ assertReadableStream(archive)
112
134
  finished(archive)
113
135
  .then(() => {
114
136
  debug('Archive finished')
@@ -237,7 +259,7 @@ export async function exportDataset(opts: ExportOptions): Promise<ExportResult>
237
259
  })
238
260
 
239
261
  debug('Adding data.ndjson to archive')
240
- archive.file(dataPath, {name: 'data.ndjson', prefix})
262
+ archive.add('data.ndjson')
241
263
 
242
264
  if (!options.raw && options.assets) {
243
265
  onProgress({step: 'Downloading assets...'})
@@ -277,7 +299,7 @@ export async function exportDataset(opts: ExportOptions): Promise<ExportResult>
277
299
  await pipeline(new JsonStreamStringify(assetMap), assetsStream)
278
300
 
279
301
  if (options.assetsMap) {
280
- archive.file(assetsPath, {name: 'assets.json', prefix})
302
+ archive.add('assets.json')
281
303
  }
282
304
 
283
305
  clearInterval(progressInterval)
@@ -289,12 +311,12 @@ export async function exportDataset(opts: ExportOptions): Promise<ExportResult>
289
311
  }
290
312
 
291
313
  // Add all downloaded assets to archive
292
- archive.directory(joinPath(tmpDir, 'files'), `${prefix}/files`)
293
- archive.directory(joinPath(tmpDir, 'images'), `${prefix}/images`)
314
+ archive.add('files')
315
+ archive.add('images')
294
316
 
295
317
  debug('Finalizing archive, flushing streams')
296
318
  onProgress({step: 'Adding assets to archive...'})
297
- await archive.finalize()
319
+ archive.end()
298
320
  })
299
321
  .catch(async (err: unknown) => {
300
322
  if (debugTimer !== null) clearTimeout(debugTimer)