1.1.7 • Published 10 months ago

@mongodb-js/dl-center v1.1.7

Weekly downloads
121
License
Apache-2.0
Repository
github
Last release
10 months ago

Download center tools

Provides a set of functions to aid releases to the download center.

Features

  • Pre-configured ACLs
  • Upload and download assets
  • Validates and uploads product configurations
  • Checks for broken urls in configurations

Usage

Create a new DownloadCenter instance

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);

Validate and upload a configuration

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);

Download a configuration

const config = await downloadCenter.downloadConfig('compass/compass.json');
assert(config.versions.length > 1);

Upload an asset

const config = await downloadCenter.uploadAsset(
  'compass/assets/compass.tgz',
  fs.createReadStream('./compass.tgz'),
  { contentType: 'application/gzip' } // contentType is optional
);

Download an asset

const buffer = await downloadCenter.downloadAsset(
  'compass/assets/compass.tgz'
);

fs.writeFileSync('./compass.tgz', buffer);

Validates a configuration without uploading it

import { validateConfig } from '@mongodb-js/dl-center';

await validateConfig({ /* ... */ });

Wait for assets upload

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);
1.1.7

10 months ago

1.1.6

11 months ago

1.1.5

1 year ago

1.1.3

1 year ago

1.1.1

2 years ago

0.2.0

2 years ago

1.1.2

2 years ago

1.0.1

5 years ago

1.0.0

5 years ago