$ cnpm install @mongodb-js/dl-center
Provides a set of functions to aid releases to the download center.
import { DownloadCenter } from '@mongodb-js/dl-center';
const bucketConfig = {
bucket: `${process.env.MONGODB_DOWNLOADS_BUCKET_NAME}`,
accessKeyId: `${process.env.MONGODB_DOWNLOADS_AWS_ACCESS_KEY_ID}`,
secretAccessKey: `${process.env.MONGODB_DOWNLOADS_AWS_SECRET_ACCESS_KEY}`
};
const downloadCenter = new DownloadCenter(bucketConfig);
downloadCenter.uploadConfig
validates a configuration against a json schema, checks that all the download links are reacheable and uploads the configuration to the download center.
const compassConfig = {
versions: [ /* ... */ ],
// ...
};
await downloadCenter.uploadConfig('compass/compass.json', compassConfig);
const config = await downloadCenter.downloadConfig('compass/compass.json');
assert(config.versions.length > 1);
const config = await downloadCenter.uploadAsset(
'compass/assets/compass.tgz',
fs.createReadStream('./compass.tgz'),
{ contentType: 'application/gzip' } // contentType is optional
);
const buffer = await downloadCenter.downloadAsset(
'compass/assets/compass.tgz'
);
fs.writeFileSync('./compass.tgz', buffer);
import { validateConfig } from '@mongodb-js/dl-center';
await validateConfig({ /* ... */ });
This can be used to wait for the assets of a release to be available before publishing a new configuration:
const { ok, status } = await probePlatformDownloadLink(platform);
Copyright 2014 - 2016 © taobao.org |