mongodb-cloud-info 2.1.5 → 2.2.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;AAIzC,MAAM,MAAM,QAAQ,GAAG;IAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAAC,EAAE,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC;AAGxD,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,QAAQ,CAAC;CACf,CAAC;AAwBF,wBAAsB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM;;;;GAiC/C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;AAIzC,MAAM,MAAM,QAAQ,GAAG;IAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAAC,EAAE,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC;AAGxD,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,QAAQ,CAAC;CACf,CAAC;AAqCF,wBAAsB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM;;;;GAuC/C"}
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.getCloudInfo = void 0;
6
+ exports.getCloudInfo = getCloudInfo;
7
7
  const util_1 = __importDefault(require("util"));
8
8
  const dns_1 = __importDefault(require("dns"));
9
9
  const ipaddr_js_1 = __importDefault(require("ipaddr.js"));
@@ -11,6 +11,7 @@ const cross_fetch_1 = __importDefault(require("cross-fetch"));
11
11
  const CIDRS_URL = 'https://raw.githubusercontent.com/mongodb-js/devtools-shared/main/resources/cidrs.json';
12
12
  let unparsedCIDRsPromise;
13
13
  const dnsLookup = util_1.default.promisify(dns_1.default.lookup.bind(dns_1.default));
14
+ const dnsResolveCname = util_1.default.promisify(dns_1.default.resolveCname.bind(dns_1.default));
14
15
  function rangesContainsIP(ipRanges, ip) {
15
16
  if (ip.kind() === 'ipv4') {
16
17
  return !!ipRanges.v4.find((cidr) => ip.match(cidr));
@@ -23,6 +24,15 @@ function parseCIDRs(rawCidrs) {
23
24
  v6: rawCidrs.v6.map((cidr) => [new ipaddr_js_1.default.IPv6(cidr[0]), cidr[1]]),
24
25
  };
25
26
  }
27
+ async function hasAWSCname(host) {
28
+ try {
29
+ const addresses = await dnsResolveCname(host);
30
+ return addresses.some((address) => address.endsWith('.amazonaws.com'));
31
+ }
32
+ catch (err) {
33
+ return false;
34
+ }
35
+ }
26
36
  async function getCloudInfo(host) {
27
37
  if (!host) {
28
38
  return {
@@ -46,11 +56,14 @@ async function getCloudInfo(host) {
46
56
  unparsedCIDRsPromise = undefined;
47
57
  throw err;
48
58
  }
49
- return {
59
+ const info = {
50
60
  isAws: rangesContainsIP(parseCIDRs(unparsedCIDRs.aws), ip),
51
61
  isGcp: rangesContainsIP(parseCIDRs(unparsedCIDRs.gcp), ip),
52
62
  isAzure: rangesContainsIP(parseCIDRs(unparsedCIDRs.azure), ip),
53
63
  };
64
+ if (!info.isAws && !info.isGcp && !info.isAzure) {
65
+ info.isAws = await hasAWSCname(host);
66
+ }
67
+ return info;
54
68
  }
55
- exports.getCloudInfo = getCloudInfo;
56
69
  //# 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":";;;;;;AAAA,gDAAwB;AACxB,8CAAsB;AACtB,0DAA+B;AAC/B,8DAAgC;AAEhC,MAAM,SAAS,GACb,wFAAwF,CAAC;AAe3F,IAAI,oBAAgE,CAAC;AAErE,MAAM,SAAS,GAAG,cAAI,CAAC,SAAS,CAAC,aAAG,CAAC,MAAM,CAAC,IAAI,CAAC,aAAG,CAAC,CAAC,CAAC;AAEvD,SAAS,gBAAgB,CACvB,QAAqB,EACrB,EAA6B;IAE7B,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,UAAU,CAAC,QAAkB;IACpC,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,mBAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,mBAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KACnE,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,IAAa;IAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAGD,MAAM,OAAO,GAAW,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAsB,CAAC;IACrE,MAAM,EAAE,GAAG,mBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEjC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,oBAAoB,GAAG,IAAA,qBAAK,EAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACnD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,aAAgD,CAAC;IACrD,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,oBAAoB,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAGb,oBAAoB,GAAG,SAAS,CAAC;QACjC,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QAC1D,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QAC1D,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;KAC/D,CAAC;AACJ,CAAC;AAjCD,oCAiCC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mongodb-cloud-info",
3
- "version": "2.1.5",
3
+ "version": "2.2.0",
4
4
  "description": "Get cloud information based on hostname",
5
5
  "author": {
6
6
  "name": "MongoDB Inc",
@@ -51,27 +51,27 @@
51
51
  "ipaddr.js": "^2.1.0"
52
52
  },
53
53
  "devDependencies": {
54
- "@mongodb-js/eslint-config-devtools": "0.9.10",
55
- "@mongodb-js/mocha-config-devtools": "^1.0.4",
56
- "@mongodb-js/prettier-config-devtools": "^1.0.1",
57
- "@mongodb-js/tsconfig-devtools": "^1.0.2",
54
+ "@mongodb-js/eslint-config-devtools": "0.9.11",
55
+ "@mongodb-js/mocha-config-devtools": "^1.0.5",
56
+ "@mongodb-js/prettier-config-devtools": "^1.0.2",
57
+ "@mongodb-js/tsconfig-devtools": "^1.0.3",
58
58
  "@types/chai": "^4.2.21",
59
59
  "@types/mocha": "^9.1.1",
60
- "@types/node": "^17.0.35",
60
+ "@types/node": "^22.15.30",
61
61
  "@types/sinon-chai": "^3.2.5",
62
- "chai": "^4.3.6",
62
+ "chai": "^4.5.0",
63
63
  "cheerio": "^1.0.0-rc.12",
64
- "depcheck": "^1.4.1",
64
+ "depcheck": "^1.4.7",
65
65
  "eslint": "^7.25.0",
66
66
  "gce-ips": "^1.0.2",
67
- "gen-esm-wrapper": "^1.1.0",
67
+ "gen-esm-wrapper": "^1.1.3",
68
68
  "mocha": "^8.4.0",
69
69
  "nock": "^13.3.1",
70
70
  "nyc": "^15.1.0",
71
- "prettier": "^2.3.2",
71
+ "prettier": "^3.5.3",
72
72
  "sinon": "^9.2.3",
73
73
  "ts-node": "^10.9.2",
74
74
  "typescript": "^5.0.4"
75
75
  },
76
- "gitHead": "ff75d1b32c794ae9f3e48a7b4eb741df7df23e24"
76
+ "gitHead": "005f6263e3a329d916f6936c9adcf35db47cfe9f"
77
77
  }