@mongodb-js/mongodb-downloader 0.2.10 → 0.3.1
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/.esm-wrapper.mjs +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -14
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/.esm-wrapper.mjs
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import type { Options as DownloadOptions } from 'mongodb-download-url';
|
|
1
|
+
import type { Options as DownloadOptions, DownloadArtifactInfo } from 'mongodb-download-url';
|
|
2
2
|
export type { DownloadOptions };
|
|
3
|
-
export
|
|
3
|
+
export type DownloadResult = DownloadArtifactInfo & {
|
|
4
|
+
downloadedBinDir: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function downloadMongoDbWithVersionInfo(tmpdir: string, targetVersionSemverSpecifier?: string, options?: DownloadOptions): Promise<DownloadResult>;
|
|
7
|
+
export declare function downloadMongoDb(...args: Parameters<typeof downloadMongoDbWithVersionInfo>): Promise<string>;
|
|
4
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,OAAO,IAAI,eAAe,EAC1B,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAI9B,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG;IAClD,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAGF,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,MAAM,EACd,4BAA4B,SAAM,EAClC,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAwCzB;AA2FD,wBAAsB,eAAe,CACnC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,GACzD,OAAO,CAAC,MAAM,CAAC,CAEjB"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.downloadMongoDb = void 0;
|
|
6
|
+
exports.downloadMongoDb = exports.downloadMongoDbWithVersionInfo = void 0;
|
|
7
7
|
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
8
8
|
const tar_1 = __importDefault(require("tar"));
|
|
9
9
|
const util_1 = require("util");
|
|
@@ -14,41 +14,47 @@ 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
|
-
async function
|
|
17
|
+
async function downloadMongoDbWithVersionInfo(tmpdir, targetVersionSemverSpecifier = '*', options = {}) {
|
|
18
18
|
let wantsEnterprise = options.enterprise ?? false;
|
|
19
|
+
const isWindows = ['win32', 'windows'].includes(options.platform ?? process.platform);
|
|
19
20
|
async function lookupDownloadUrl() {
|
|
20
|
-
return
|
|
21
|
+
return await (0, mongodb_download_url_1.default)({
|
|
21
22
|
version: targetVersionSemverSpecifier,
|
|
22
23
|
enterprise: wantsEnterprise,
|
|
23
24
|
...options,
|
|
24
|
-
})
|
|
25
|
+
});
|
|
25
26
|
}
|
|
26
27
|
await fs_1.promises.mkdir(tmpdir, { recursive: true });
|
|
27
28
|
if (targetVersionSemverSpecifier === 'latest-alpha') {
|
|
28
|
-
return await doDownload(tmpdir, !!options.crypt_shared, 'latest-alpha', lookupDownloadUrl);
|
|
29
|
+
return await doDownload(tmpdir, !!options.crypt_shared, 'latest-alpha', isWindows, lookupDownloadUrl);
|
|
29
30
|
}
|
|
30
31
|
if (/-enterprise$/.test(targetVersionSemverSpecifier)) {
|
|
31
32
|
wantsEnterprise = true;
|
|
32
33
|
targetVersionSemverSpecifier = targetVersionSemverSpecifier.replace(/-enterprise$/, '');
|
|
33
34
|
}
|
|
34
35
|
return await doDownload(tmpdir, !!options.crypt_shared, targetVersionSemverSpecifier +
|
|
35
|
-
(wantsEnterprise ? '-enterprise' : '-community'), () => lookupDownloadUrl());
|
|
36
|
+
(wantsEnterprise ? '-enterprise' : '-community'), isWindows, () => lookupDownloadUrl());
|
|
36
37
|
}
|
|
37
|
-
exports.
|
|
38
|
-
const downloadPromises =
|
|
39
|
-
async function doDownload(tmpdir, isCryptLibrary, version, lookupDownloadUrl) {
|
|
38
|
+
exports.downloadMongoDbWithVersionInfo = downloadMongoDbWithVersionInfo;
|
|
39
|
+
const downloadPromises = Object.create(null);
|
|
40
|
+
async function doDownload(tmpdir, isCryptLibrary, version, isWindows, lookupDownloadUrl) {
|
|
40
41
|
const downloadTarget = path_1.default.resolve(tmpdir, `mongodb-${process.platform}-${process.env.DISTRO_ID || 'none'}-${process.arch}-${version}`.replace(/[^a-zA-Z0-9_-]/g, ''));
|
|
41
42
|
return (downloadPromises[downloadTarget] ?? (downloadPromises[downloadTarget] = (async () => {
|
|
42
|
-
const bindir = path_1.default.resolve(downloadTarget, isCryptLibrary &&
|
|
43
|
+
const bindir = path_1.default.resolve(downloadTarget, isCryptLibrary && !isWindows ? 'lib' : 'bin');
|
|
44
|
+
const artifactInfoFile = path_1.default.join(bindir, '.artifact_info');
|
|
43
45
|
try {
|
|
44
|
-
await fs_1.promises.stat(
|
|
46
|
+
await fs_1.promises.stat(artifactInfoFile);
|
|
45
47
|
debug(`Skipping download because ${downloadTarget} exists`);
|
|
46
|
-
return
|
|
48
|
+
return {
|
|
49
|
+
...JSON.parse(await fs_1.promises.readFile(artifactInfoFile, 'utf8')),
|
|
50
|
+
downloadedBinDir: bindir,
|
|
51
|
+
};
|
|
47
52
|
}
|
|
48
53
|
catch {
|
|
49
54
|
}
|
|
50
55
|
await fs_1.promises.mkdir(downloadTarget, { recursive: true });
|
|
51
|
-
const
|
|
56
|
+
const artifactInfo = await lookupDownloadUrl();
|
|
57
|
+
const { url } = artifactInfo;
|
|
52
58
|
debug(`Downloading ${url} into ${downloadTarget}...`);
|
|
53
59
|
const HWM = 1024 * 1024;
|
|
54
60
|
async function downloadAndExtract(withExtraStripDepth = 0) {
|
|
@@ -79,8 +85,13 @@ async function doDownload(tmpdir, isCryptLibrary, version, lookupDownloadUrl) {
|
|
|
79
85
|
}
|
|
80
86
|
}
|
|
81
87
|
await downloadAndExtract();
|
|
88
|
+
await fs_1.promises.writeFile(artifactInfoFile, JSON.stringify(artifactInfo));
|
|
82
89
|
debug(`Download complete`, bindir);
|
|
83
|
-
return bindir;
|
|
90
|
+
return { ...artifactInfo, downloadedBinDir: bindir };
|
|
84
91
|
})()));
|
|
85
92
|
}
|
|
93
|
+
async function downloadMongoDb(...args) {
|
|
94
|
+
return (await downloadMongoDbWithVersionInfo(...args)).downloadedBinDir;
|
|
95
|
+
}
|
|
96
|
+
exports.downloadMongoDb = downloadMongoDb;
|
|
86
97
|
//# 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":";;;;;;AACA,4DAA+B;AAC/B,8CAAsB;AACtB,+BAAiC;AACjC,2BAAuD;AACvD,gDAAwB;AACxB,4DAAoC;AACpC,mCAAkC;AAClC,gFAAkD;
|
|
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.
|
|
16
|
+
"version": "0.3.1",
|
|
17
17
|
"repository": {
|
|
18
18
|
"type": "git",
|
|
19
19
|
"url": "https://github.com/mongodb-js/devtools-shared.git"
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
"prettier": "2.3.2",
|
|
71
71
|
"typescript": "^5.0.4"
|
|
72
72
|
},
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "27dd83c4cde60c474c02aacc19b85e62b4a077db"
|
|
74
74
|
}
|