@mongodb-js/mongodb-downloader 0.2.6 → 0.2.7

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.
package/dist/index.js CHANGED
@@ -9,14 +9,13 @@ const tar_1 = __importDefault(require("tar"));
9
9
  const util_1 = require("util");
10
10
  const fs_1 = require("fs");
11
11
  const path_1 = __importDefault(require("path"));
12
- const download_1 = __importDefault(require("download"));
12
+ const decompress_1 = __importDefault(require("decompress"));
13
13
  const stream_1 = require("stream");
14
14
  const mongodb_download_url_1 = __importDefault(require("mongodb-download-url"));
15
15
  const debug_1 = __importDefault(require("debug"));
16
16
  const debug = (0, debug_1.default)('mongodb-downloader');
17
17
  async function downloadMongoDb(tmpdir, targetVersionSemverSpecifier = '*', options = {}) {
18
- var _a;
19
- let wantsEnterprise = (_a = options.enterprise) !== null && _a !== void 0 ? _a : false;
18
+ let wantsEnterprise = options.enterprise ?? false;
20
19
  async function lookupDownloadUrl() {
21
20
  return (await (0, mongodb_download_url_1.default)({
22
21
  version: targetVersionSemverSpecifier,
@@ -38,29 +37,34 @@ async function downloadMongoDb(tmpdir, targetVersionSemverSpecifier = '*', optio
38
37
  exports.downloadMongoDb = downloadMongoDb;
39
38
  const downloadPromises = {};
40
39
  async function doDownload(tmpdir, isCryptLibrary, version, lookupDownloadUrl) {
41
- var _a;
42
40
  const downloadTarget = path_1.default.resolve(tmpdir, `mongodb-${process.platform}-${process.env.DISTRO_ID || 'none'}-${process.arch}-${version}`.replace(/[^a-zA-Z0-9_-]/g, ''));
43
- return ((_a = downloadPromises[downloadTarget]) !== null && _a !== void 0 ? _a : (downloadPromises[downloadTarget] = (async () => {
41
+ return (downloadPromises[downloadTarget] ??= (async () => {
44
42
  const bindir = path_1.default.resolve(downloadTarget, isCryptLibrary && process.platform !== 'win32' ? 'lib' : 'bin');
45
43
  try {
46
44
  await fs_1.promises.stat(bindir);
47
45
  debug(`Skipping download because ${downloadTarget} exists`);
48
46
  return bindir;
49
47
  }
50
- catch (_a) {
48
+ catch {
51
49
  }
52
50
  await fs_1.promises.mkdir(downloadTarget, { recursive: true });
53
51
  const url = await lookupDownloadUrl();
54
52
  debug(`Downloading ${url} into ${downloadTarget}...`);
53
+ const HWM = 1024 * 1024;
55
54
  async function downloadAndExtract(withExtraStripDepth = 0) {
55
+ const response = await (0, node_fetch_1.default)(url, {
56
+ highWaterMark: HWM,
57
+ });
56
58
  if (/\.tgz$|\.tar(\.[^.]+)?$/.exec(url)) {
57
- const response = await (0, node_fetch_1.default)(url);
58
59
  await (0, util_1.promisify)(stream_1.pipeline)(response.body, tar_1.default.x({ cwd: downloadTarget, strip: isCryptLibrary ? 0 : 1 }));
59
60
  }
60
61
  else {
61
- await (0, download_1.default)(url, downloadTarget, {
62
- extract: true,
62
+ const filename = path_1.default.join(downloadTarget, path_1.default.basename(new URL(url).pathname));
63
+ await (0, util_1.promisify)(stream_1.pipeline)(response.body, (0, fs_1.createWriteStream)(filename, { highWaterMark: HWM }));
64
+ debug(`Written file ${url} to ${filename}, extracting...`);
65
+ await (0, decompress_1.default)(filename, downloadTarget, {
63
66
  strip: isCryptLibrary ? 0 : 1,
67
+ filter: (file) => path_1.default.extname(file.path) !== '.pdb',
64
68
  });
65
69
  }
66
70
  try {
@@ -77,6 +81,6 @@ async function doDownload(tmpdir, isCryptLibrary, version, lookupDownloadUrl) {
77
81
  await downloadAndExtract();
78
82
  debug(`Download complete`, bindir);
79
83
  return bindir;
80
- })()));
84
+ })());
81
85
  }
82
86
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "email": "compass@mongodb.com"
14
14
  },
15
15
  "homepage": "https://github.com/mongodb-js/devtools-shared",
16
- "version": "0.2.6",
16
+ "version": "0.2.7",
17
17
  "repository": {
18
18
  "type": "git",
19
19
  "url": "https://github.com/mongodb-js/devtools-shared.git"
@@ -47,18 +47,18 @@
47
47
  },
48
48
  "dependencies": {
49
49
  "debug": "^4.3.4",
50
- "download": "^8.0.0",
50
+ "decompress": "^4.2.1",
51
51
  "mongodb-download-url": "^1.3.0",
52
52
  "node-fetch": "^2.6.11",
53
53
  "tar": "^6.1.15"
54
54
  },
55
55
  "devDependencies": {
56
- "@mongodb-js/eslint-config-devtools": "0.9.9",
57
- "@mongodb-js/mocha-config-compass": "^0.10.0",
56
+ "@mongodb-js/eslint-config-devtools": "0.9.10",
57
+ "@mongodb-js/mocha-config-devtools": "^1.0.1",
58
58
  "@mongodb-js/prettier-config-devtools": "^1.0.1",
59
- "@mongodb-js/tsconfig-compass": "^0.6.0",
59
+ "@mongodb-js/tsconfig-devtools": "^1.0.1",
60
60
  "@types/debug": "^4.1.8",
61
- "@types/download": "^8.0.2",
61
+ "@types/decompress": "^4.2.4",
62
62
  "@types/mocha": "^9.0.0",
63
63
  "@types/node": "^17.0.35",
64
64
  "@types/tar": "^6.1.5",
@@ -70,5 +70,5 @@
70
70
  "prettier": "2.3.2",
71
71
  "typescript": "^5.0.4"
72
72
  },
73
- "gitHead": "f68234866e6fb0851dbc52bcb93dc5433ae3faf6"
73
+ "gitHead": "9c41f233d529e7b5cac1849a0a07ca2076fcdbb0"
74
74
  }