@sanity/export
Exports documents and assets from a Sanity dataset
Installing
npm install --save @sanity/export
Usage
const exportDataset = require('@sanity/export')
exportDataset({
client: someInstantiatedSanityClientInstance,
dataset: 'myDataset',
outputPath: '/home/your-user/myDataset.tar.gz',
assets: false,
raw: true,
drafts: true,
types: ['products', 'shops'],
assetConcurrency: 12,
mode: 'stream',
mediaLibraryId: 'myMediaLibrary',
assetsMap: true,
filterDocument: (document) => (document.title ?? '').includes('capybara'),
transformDocument: (document) => ({
...document,
title: document.title ?? 'capybara',
}),
})
Future improvements
- Restore original filenames, keep track of duplicates, increase counter (
filename (<num>).ext)
- Skip archiving on raw/no-asset mode?
CLI-tool
This functionality is built in to the @sanity/cli package as sanity dataset export
License
MIT-licensed. See LICENSE.