@coana-tech/cli 14.12.171 → 14.12.172

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/cli.mjs CHANGED
@@ -14866,8 +14866,8 @@ var require_utils = __commonJS({
14866
14866
  exports2.toPosixSlashes = (str) => str.replace(REGEX_BACKSLASH, "/");
14867
14867
  exports2.isWindows = () => {
14868
14868
  if (typeof navigator !== "undefined" && navigator.platform) {
14869
- const platform9 = navigator.platform.toLowerCase();
14870
- return platform9 === "win32" || platform9 === "windows";
14869
+ const platform10 = navigator.platform.toLowerCase();
14870
+ return platform10 === "win32" || platform10 === "windows";
14871
14871
  }
14872
14872
  if (typeof process !== "undefined" && process.platform) {
14873
14873
  return process.platform === "win32";
@@ -56426,8 +56426,8 @@ var require_path_key = __commonJS({
56426
56426
  "use strict";
56427
56427
  var pathKey = (options = {}) => {
56428
56428
  const environment = options.env || process.env;
56429
- const platform9 = options.platform || process.platform;
56430
- if (platform9 !== "win32") {
56429
+ const platform10 = options.platform || process.platform;
56430
+ if (platform10 !== "win32") {
56431
56431
  return "PATH";
56432
56432
  }
56433
56433
  return Object.keys(environment).reverse().find((key) => key.toUpperCase() === "PATH") || "Path";
@@ -69910,7 +69910,7 @@ var require_lockfile = __commonJS({
69910
69910
  }
69911
69911
  const file = _ref22;
69912
69912
  if (yield exists2(file)) {
69913
- return readFile38(file);
69913
+ return readFile39(file);
69914
69914
  }
69915
69915
  }
69916
69916
  return null;
@@ -69929,7 +69929,7 @@ var require_lockfile = __commonJS({
69929
69929
  })();
69930
69930
  let readJsonAndFile = exports3.readJsonAndFile = (() => {
69931
69931
  var _ref24 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) {
69932
- const file = yield readFile38(loc);
69932
+ const file = yield readFile39(loc);
69933
69933
  try {
69934
69934
  return {
69935
69935
  object: (0, (_map || _load_map()).default)(JSON.parse(stripBOM2(file))),
@@ -70169,7 +70169,7 @@ var require_lockfile = __commonJS({
70169
70169
  };
70170
70170
  })();
70171
70171
  exports3.copy = copy;
70172
- exports3.readFile = readFile38;
70172
+ exports3.readFile = readFile39;
70173
70173
  exports3.readFileRaw = readFileRaw;
70174
70174
  exports3.normalizeOS = normalizeOS;
70175
70175
  var _fs;
@@ -70267,7 +70267,7 @@ var require_lockfile = __commonJS({
70267
70267
  });
70268
70268
  });
70269
70269
  }
70270
- function readFile38(loc) {
70270
+ function readFile39(loc) {
70271
70271
  return _readFile(loc, "utf8").then(normalizeOS);
70272
70272
  }
70273
70273
  function readFileRaw(loc) {
@@ -70346,9 +70346,9 @@ var require_lockfile = __commonJS({
70346
70346
  const SINGLE_INSTANCE_PORT = exports3.SINGLE_INSTANCE_PORT = 31997;
70347
70347
  const SINGLE_INSTANCE_FILENAME = exports3.SINGLE_INSTANCE_FILENAME = ".yarn-single-instance";
70348
70348
  const ENV_PATH_KEY = exports3.ENV_PATH_KEY = getPathKey(process.platform, process.env);
70349
- function getPathKey(platform9, env) {
70349
+ function getPathKey(platform10, env) {
70350
70350
  let pathKey = "PATH";
70351
- if (platform9 === "win32") {
70351
+ if (platform10 === "win32") {
70352
70352
  pathKey = "Path";
70353
70353
  for (const key in env) {
70354
70354
  if (key.toLowerCase() === "path") {
@@ -176243,7 +176243,7 @@ var require_client_metadata = __commonJS({
176243
176243
  const name3 = Buffer.byteLength(appName, "utf8") <= 128 ? options.appName : Buffer.from(appName, "utf8").subarray(0, 128).toString("utf8");
176244
176244
  metadataDocument.ifItFitsItSits("application", { name: name3 });
176245
176245
  }
176246
- const { name: name2 = "", version: version4 = "", platform: platform9 = "" } = options.driverInfo;
176246
+ const { name: name2 = "", version: version4 = "", platform: platform10 = "" } = options.driverInfo;
176247
176247
  const driverInfo = {
176248
176248
  name: name2.length > 0 ? `nodejs|${name2}` : "nodejs",
176249
176249
  version: version4.length > 0 ? `${NODE_DRIVER_VERSION}|${version4}` : NODE_DRIVER_VERSION
@@ -176252,8 +176252,8 @@ var require_client_metadata = __commonJS({
176252
176252
  throw new error_1.MongoInvalidArgumentError("Unable to include driverInfo name and version, metadata cannot exceed 512 bytes");
176253
176253
  }
176254
176254
  let runtimeInfo = getRuntimeInfo();
176255
- if (platform9.length > 0) {
176256
- runtimeInfo = `${runtimeInfo}|${platform9}`;
176255
+ if (platform10.length > 0) {
176256
+ runtimeInfo = `${runtimeInfo}|${platform10}`;
176257
176257
  }
176258
176258
  if (!metadataDocument.ifItFitsItSits("platform", runtimeInfo)) {
176259
176259
  throw new error_1.MongoInvalidArgumentError("Unable to include driverInfo platform, metadata cannot exceed 512 bytes");
@@ -194903,14 +194903,14 @@ var require_axios = __commonJS({
194903
194903
  navigator: _navigator2,
194904
194904
  origin: origin2
194905
194905
  });
194906
- var platform9 = {
194906
+ var platform10 = {
194907
194907
  ...utils,
194908
194908
  ...platform$1
194909
194909
  };
194910
194910
  function toURLEncodedForm2(data2, options) {
194911
- return toFormData3(data2, new platform9.classes.URLSearchParams(), {
194911
+ return toFormData3(data2, new platform10.classes.URLSearchParams(), {
194912
194912
  visitor: function(value2, key, path9, helpers) {
194913
- if (platform9.isNode && utils$1.isBuffer(value2)) {
194913
+ if (platform10.isNode && utils$1.isBuffer(value2)) {
194914
194914
  this.append(key, value2.toString("base64"));
194915
194915
  return false;
194916
194916
  }
@@ -195059,8 +195059,8 @@ var require_axios = __commonJS({
195059
195059
  maxContentLength: -1,
195060
195060
  maxBodyLength: -1,
195061
195061
  env: {
195062
- FormData: platform9.classes.FormData,
195063
- Blob: platform9.classes.Blob
195062
+ FormData: platform10.classes.FormData,
195063
+ Blob: platform10.classes.Blob
195064
195064
  },
195065
195065
  validateStatus: function validateStatus2(status) {
195066
195066
  return status >= 200 && status < 300;
@@ -195401,7 +195401,7 @@ var require_axios = __commonJS({
195401
195401
  }
195402
195402
  var DATA_URL_PATTERN2 = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;
195403
195403
  function fromDataURI2(uri, asBlob, options) {
195404
- const _Blob = options && options.Blob || platform9.classes.Blob;
195404
+ const _Blob = options && options.Blob || platform10.classes.Blob;
195405
195405
  const protocol = parseProtocol2(uri);
195406
195406
  if (asBlob === void 0 && _Blob) {
195407
195407
  asBlob = true;
@@ -195551,7 +195551,7 @@ var require_axios = __commonJS({
195551
195551
  }
195552
195552
  };
195553
195553
  var readBlob$1 = readBlob2;
195554
- var BOUNDARY_ALPHABET2 = platform9.ALPHABET.ALPHA_DIGIT + "-_";
195554
+ var BOUNDARY_ALPHABET2 = platform10.ALPHABET.ALPHA_DIGIT + "-_";
195555
195555
  var textEncoder2 = typeof TextEncoder === "function" ? new TextEncoder() : new util__default["default"].TextEncoder();
195556
195556
  var CRLF2 = "\r\n";
195557
195557
  var CRLF_BYTES2 = textEncoder2.encode(CRLF2);
@@ -195594,7 +195594,7 @@ var require_axios = __commonJS({
195594
195594
  const {
195595
195595
  tag = "form-data-boundary",
195596
195596
  size = 25,
195597
- boundary = tag + "-" + platform9.generateString(size, BOUNDARY_ALPHABET2)
195597
+ boundary = tag + "-" + platform10.generateString(size, BOUNDARY_ALPHABET2)
195598
195598
  } = options || {};
195599
195599
  if (!utils$1.isFormData(form)) {
195600
195600
  throw TypeError("FormData instance required");
@@ -195818,7 +195818,7 @@ var require_axios = __commonJS({
195818
195818
  var isBrotliSupported2 = utils$1.isFunction(zlib__default["default"].createBrotliDecompress);
195819
195819
  var { http: httpFollow2, https: httpsFollow2 } = followRedirects__default["default"];
195820
195820
  var isHttps2 = /https:?/;
195821
- var supportedProtocols2 = platform9.protocols.map((protocol) => {
195821
+ var supportedProtocols2 = platform10.protocols.map((protocol) => {
195822
195822
  return protocol + ":";
195823
195823
  });
195824
195824
  var flushOnFinish2 = (stream6, [throttled, flush]) => {
@@ -195945,7 +195945,7 @@ var require_axios = __commonJS({
195945
195945
  }
195946
195946
  }
195947
195947
  const fullPath = buildFullPath2(config3.baseURL, config3.url, config3.allowAbsoluteUrls);
195948
- const parsed = new URL(fullPath, platform9.hasBrowserEnv ? platform9.origin : void 0);
195948
+ const parsed = new URL(fullPath, platform10.hasBrowserEnv ? platform10.origin : void 0);
195949
195949
  const protocol = parsed.protocol || supportedProtocols2[0];
195950
195950
  if (protocol === "data:") {
195951
195951
  if (config3.maxContentLength > -1) {
@@ -196317,14 +196317,14 @@ var require_axios = __commonJS({
196317
196317
  }
196318
196318
  });
196319
196319
  };
196320
- var isURLSameOrigin = platform9.hasStandardBrowserEnv ? /* @__PURE__ */ ((origin3, isMSIE) => (url3) => {
196321
- url3 = new URL(url3, platform9.origin);
196320
+ var isURLSameOrigin = platform10.hasStandardBrowserEnv ? /* @__PURE__ */ ((origin3, isMSIE) => (url3) => {
196321
+ url3 = new URL(url3, platform10.origin);
196322
196322
  return origin3.protocol === url3.protocol && origin3.host === url3.host && (isMSIE || origin3.port === url3.port);
196323
196323
  })(
196324
- new URL(platform9.origin),
196325
- platform9.navigator && /(msie|trident)/i.test(platform9.navigator.userAgent)
196324
+ new URL(platform10.origin),
196325
+ platform10.navigator && /(msie|trident)/i.test(platform10.navigator.userAgent)
196326
196326
  ) : () => true;
196327
- var cookies = platform9.hasStandardBrowserEnv ? (
196327
+ var cookies = platform10.hasStandardBrowserEnv ? (
196328
196328
  // Standard browser envs support document.cookie
196329
196329
  {
196330
196330
  write(name2, value2, expires, path9, domain, secure) {
@@ -196445,7 +196445,7 @@ var require_axios = __commonJS({
196445
196445
  );
196446
196446
  }
196447
196447
  if (utils$1.isFormData(data2)) {
196448
- if (platform9.hasStandardBrowserEnv || platform9.hasStandardBrowserWebWorkerEnv) {
196448
+ if (platform10.hasStandardBrowserEnv || platform10.hasStandardBrowserWebWorkerEnv) {
196449
196449
  headers.setContentType(void 0);
196450
196450
  } else if (utils$1.isFunction(data2.getHeaders)) {
196451
196451
  const formHeaders = data2.getHeaders();
@@ -196457,7 +196457,7 @@ var require_axios = __commonJS({
196457
196457
  });
196458
196458
  }
196459
196459
  }
196460
- if (platform9.hasStandardBrowserEnv) {
196460
+ if (platform10.hasStandardBrowserEnv) {
196461
196461
  withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));
196462
196462
  if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin(newConfig.url)) {
196463
196463
  const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);
@@ -196589,7 +196589,7 @@ var require_axios = __commonJS({
196589
196589
  }
196590
196590
  }
196591
196591
  const protocol = parseProtocol2(_config.url);
196592
- if (protocol && platform9.protocols.indexOf(protocol) === -1) {
196592
+ if (protocol && platform10.protocols.indexOf(protocol) === -1) {
196593
196593
  reject(new AxiosError3("Unsupported protocol " + protocol + ":", AxiosError3.ERR_BAD_REQUEST, config3));
196594
196594
  return;
196595
196595
  }
@@ -196735,7 +196735,7 @@ var require_axios = __commonJS({
196735
196735
  const encodeText = isFetchSupported && (typeof TextEncoder$1 === "function" ? /* @__PURE__ */ ((encoder) => (str) => encoder.encode(str))(new TextEncoder$1()) : async (str) => new Uint8Array(await new Request(str).arrayBuffer()));
196736
196736
  const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test2(() => {
196737
196737
  let duplexAccessed = false;
196738
- const hasContentType = new Request(platform9.origin, {
196738
+ const hasContentType = new Request(platform10.origin, {
196739
196739
  body: new ReadableStream$1(),
196740
196740
  method: "POST",
196741
196741
  get duplex() {
@@ -196768,7 +196768,7 @@ var require_axios = __commonJS({
196768
196768
  return body.size;
196769
196769
  }
196770
196770
  if (utils$1.isSpecCompliantForm(body)) {
196771
- const _request = new Request(platform9.origin, {
196771
+ const _request = new Request(platform10.origin, {
196772
196772
  method: "POST",
196773
196773
  body
196774
196774
  });
@@ -199895,7 +199895,7 @@ var {
199895
199895
  } = import_index.default;
199896
199896
 
199897
199897
  // dist/index.js
199898
- import { mkdir as mkdir7, mkdtemp as mkdtemp2, readFile as readFile37, rm as rm3, writeFile as writeFile17 } from "fs/promises";
199898
+ import { mkdir as mkdir7, mkdtemp as mkdtemp2, readFile as readFile38, rm as rm3, writeFile as writeFile17 } from "fs/promises";
199899
199899
  import { tmpdir as tmpdir5 } from "os";
199900
199900
  import { dirname as dirname26, join as join35, resolve as resolve44 } from "path";
199901
199901
 
@@ -211817,13 +211817,13 @@ async function getNodeExecutable(overridePath) {
211817
211817
  logger.debug("Extracting Node.js binary for spawned processes...");
211818
211818
  extractedNodePath = (async () => {
211819
211819
  const extractedPath = await extractTool("nodejs-binaries", "nodejs-binaries");
211820
- const { platform: platform9, arch } = process;
211820
+ const { platform: platform10, arch } = process;
211821
211821
  const nodeArch = arch === "arm" ? "arm64" : arch;
211822
- const isWindows4 = platform9 === "win32";
211823
- const binaryName = isWindows4 ? `node-${platform9}-${nodeArch}.exe.gz` : `node-${platform9}-${nodeArch}.gz`;
211822
+ const isWindows4 = platform10 === "win32";
211823
+ const binaryName = isWindows4 ? `node-${platform10}-${nodeArch}.exe.gz` : `node-${platform10}-${nodeArch}.gz`;
211824
211824
  const compressedBinaryPath = join5(extractedPath, binaryName);
211825
211825
  if (!await exists(compressedBinaryPath)) {
211826
- throw new Error(`Node.js binary not found: ${compressedBinaryPath}. Platform: ${platform9}-${nodeArch}`);
211826
+ throw new Error(`Node.js binary not found: ${compressedBinaryPath}. Platform: ${platform10}-${nodeArch}`);
211827
211827
  }
211828
211828
  const tmpDir = join5(getExtractionBaseDir(), "node-runtime");
211829
211829
  await mkdir4(tmpDir, { recursive: true });
@@ -212046,13 +212046,13 @@ async function getUvExecutable() {
212046
212046
  logger.debug("uv not found on system, extracting embedded uv...");
212047
212047
  extractedUvPath = (async () => {
212048
212048
  const extractedPath = await extractTool("uv-binaries", "uv-binaries");
212049
- const { platform: platform9, arch } = process;
212049
+ const { platform: platform10, arch } = process;
212050
212050
  const nodeArch = arch === "arm" ? "arm64" : arch;
212051
- const isWindows4 = platform9 === "win32";
212052
- const binaryName = isWindows4 ? `uv-${platform9}-${nodeArch}.exe.gz` : `uv-${platform9}-${nodeArch}.gz`;
212051
+ const isWindows4 = platform10 === "win32";
212052
+ const binaryName = isWindows4 ? `uv-${platform10}-${nodeArch}.exe.gz` : `uv-${platform10}-${nodeArch}.gz`;
212053
212053
  const compressedBinaryPath = join5(extractedPath, binaryName);
212054
212054
  if (!await exists(compressedBinaryPath)) {
212055
- throw new Error(`uv binary not found: ${compressedBinaryPath}. Platform: ${platform9}-${nodeArch}`);
212055
+ throw new Error(`uv binary not found: ${compressedBinaryPath}. Platform: ${platform10}-${nodeArch}`);
212056
212056
  }
212057
212057
  const tmpDir = join5(getExtractionBaseDir(), "uv-runtime");
212058
212058
  await mkdir4(tmpDir, { recursive: true });
@@ -223336,7 +223336,7 @@ var Pattern = class _Pattern {
223336
223336
  #isUNC;
223337
223337
  #isAbsolute;
223338
223338
  #followGlobstar = true;
223339
- constructor(patternList, globList, index2, platform9) {
223339
+ constructor(patternList, globList, index2, platform10) {
223340
223340
  if (!isPatternList(patternList)) {
223341
223341
  throw new TypeError("empty pattern list");
223342
223342
  }
@@ -223353,7 +223353,7 @@ var Pattern = class _Pattern {
223353
223353
  this.#patternList = patternList;
223354
223354
  this.#globList = globList;
223355
223355
  this.#index = index2;
223356
- this.#platform = platform9;
223356
+ this.#platform = platform10;
223357
223357
  if (this.#index === 0) {
223358
223358
  if (this.isUNC()) {
223359
223359
  const [p0, p1, p22, p3, ...prest] = this.#patternList;
@@ -223495,12 +223495,12 @@ var Ignore = class {
223495
223495
  absoluteChildren;
223496
223496
  platform;
223497
223497
  mmopts;
223498
- constructor(ignored, { nobrace, nocase, noext, noglobstar, platform: platform9 = defaultPlatform2 }) {
223498
+ constructor(ignored, { nobrace, nocase, noext, noglobstar, platform: platform10 = defaultPlatform2 }) {
223499
223499
  this.relative = [];
223500
223500
  this.absolute = [];
223501
223501
  this.relativeChildren = [];
223502
223502
  this.absoluteChildren = [];
223503
- this.platform = platform9;
223503
+ this.platform = platform10;
223504
223504
  this.mmopts = {
223505
223505
  dot: true,
223506
223506
  nobrace,
@@ -223508,7 +223508,7 @@ var Ignore = class {
223508
223508
  noext,
223509
223509
  noglobstar,
223510
223510
  optimizationLevel: 2,
223511
- platform: platform9,
223511
+ platform: platform10,
223512
223512
  nocomment: true,
223513
223513
  nonegate: true
223514
223514
  };
@@ -235275,12 +235275,63 @@ var bgMagentaBright = format5(105, 49);
235275
235275
  var bgCyanBright = format5(106, 49);
235276
235276
  var bgWhiteBright = format5(107, 49);
235277
235277
 
235278
+ // dist/internal/check-system-requirements.js
235279
+ import { readFile as readFile34 } from "fs/promises";
235280
+ import { platform as platform9 } from "process";
235281
+ var VM_MAX_MAP_COUNT_PATH = "/proc/sys/vm/max_map_count";
235282
+ async function checkSystemRequirements(memoryLimitInMb, socketMode) {
235283
+ if (platform9 !== "linux" || !socketMode) {
235284
+ return;
235285
+ }
235286
+ await checkVmMaxMapCount(memoryLimitInMb);
235287
+ }
235288
+ async function checkVmMaxMapCount(memoryLimitInMb) {
235289
+ if (!memoryLimitInMb || memoryLimitInMb <= 0 || !isFinite(memoryLimitInMb)) {
235290
+ logger.warn(`Invalid memory limit: ${memoryLimitInMb}. Skipping vm.max_map_count check.`);
235291
+ return;
235292
+ }
235293
+ let vmMaxMapCountStr;
235294
+ try {
235295
+ vmMaxMapCountStr = await readFile34(VM_MAX_MAP_COUNT_PATH, "utf-8");
235296
+ } catch (error) {
235297
+ const requiredValue = memoryLimitInMb * 4;
235298
+ logger.warn(`Unable to read ${VM_MAX_MAP_COUNT_PATH} (${error}). Skipping vm.max_map_count check. If you encounter memory-related issues, ensure vm.max_map_count is at least ${requiredValue}.`);
235299
+ return;
235300
+ }
235301
+ const vmMaxMapCount = parseInt(vmMaxMapCountStr.trim(), 10);
235302
+ if (isNaN(vmMaxMapCount)) {
235303
+ logger.warn(`Unable to parse vm.max_map_count. Value was: "${vmMaxMapCountStr.trim()}". Skipping check.`);
235304
+ return;
235305
+ }
235306
+ const requiredVmMaxMapCount = memoryLimitInMb * 4;
235307
+ if (vmMaxMapCount < requiredVmMaxMapCount) {
235308
+ throw new Error(`System requirement not met: vm.max_map_count is too low.
235309
+
235310
+ Current value: ${vmMaxMapCount}
235311
+ Required value: at least ${requiredVmMaxMapCount} (for --memory-limit ${memoryLimitInMb} MB)
235312
+
235313
+ The reachability analysis may create many memory mappings, and the current
235314
+ vm.max_map_count limit will cause the analysis to fail.
235315
+
235316
+ To fix this, run one of the following commands:
235317
+
235318
+ Temporary (until reboot):
235319
+ sudo sysctl -w vm.max_map_count=${requiredVmMaxMapCount}
235320
+
235321
+ Permanent (survives reboot):
235322
+ echo 'vm.max_map_count=${requiredVmMaxMapCount}' | sudo tee -a /etc/sysctl.conf
235323
+ sudo sysctl -p
235324
+
235325
+ Alternatively, you can reduce the --memory-limit option to require fewer mappings.`);
235326
+ }
235327
+ }
235328
+
235278
235329
  // dist/internal/constants.js
235279
235330
  var DEFAULT_REPORT_FILENAME_BASE = "coana-report";
235280
235331
 
235281
235332
  // dist/internal/exclude-dirs-from-configuration-files.js
235282
235333
  import { existsSync as existsSync25 } from "fs";
235283
- import { readFile as readFile34 } from "fs/promises";
235334
+ import { readFile as readFile35 } from "fs/promises";
235284
235335
  import { basename as basename10, resolve as resolve41 } from "path";
235285
235336
  var import_yaml2 = __toESM(require_dist11(), 1);
235286
235337
  async function inferExcludeDirsFromConfigurationFiles(rootWorkingDir) {
@@ -235294,7 +235345,7 @@ async function inferExcludeDirsFromConfigurationFiles(rootWorkingDir) {
235294
235345
  }
235295
235346
  async function inferExcludeDirsFromSocketConfig(socketConfigFile) {
235296
235347
  try {
235297
- const config3 = (0, import_yaml2.parse)(await readFile34(socketConfigFile, "utf8"));
235348
+ const config3 = (0, import_yaml2.parse)(await readFile35(socketConfigFile, "utf8"));
235298
235349
  const version4 = config3.version;
235299
235350
  const ignorePaths = config3[version4 === 1 ? "ignore" : "projectIgnorePaths"];
235300
235351
  if (!ignorePaths)
@@ -235311,7 +235362,7 @@ async function inferExcludeDirsFromSocketConfig(socketConfigFile) {
235311
235362
  // dist/internal/manifest-upload.js
235312
235363
  var import_fast_glob = __toESM(require_out4(), 1);
235313
235364
  var import_ignore3 = __toESM(require_ignore(), 1);
235314
- import { readFile as readFile35 } from "fs/promises";
235365
+ import { readFile as readFile36 } from "fs/promises";
235315
235366
  import { join as join31 } from "path";
235316
235367
  var DEFAULT_IGNORE_PATTERNS = [
235317
235368
  "**/node_modules/**",
@@ -235327,7 +235378,7 @@ var DEFAULT_IGNORE_PATTERNS = [
235327
235378
  async function loadGitignore(rootDir) {
235328
235379
  try {
235329
235380
  const gitignorePath = join31(rootDir, ".gitignore");
235330
- const content = await readFile35(gitignorePath, "utf-8");
235381
+ const content = await readFile36(gitignorePath, "utf-8");
235331
235382
  return (0, import_ignore3.default)().add(content);
235332
235383
  } catch {
235333
235384
  return void 0;
@@ -236454,7 +236505,7 @@ function toSocketFactsSocketDependencyTree(artifacts, vulnerabilities, tier1Reac
236454
236505
  }
236455
236506
 
236456
236507
  // dist/internal/vulnerability-scanning.js
236457
- import { readFile as readFile36 } from "fs/promises";
236508
+ import { readFile as readFile37 } from "fs/promises";
236458
236509
 
236459
236510
  // ../security-auditor/security-auditor-builder/src/mongo-connection.ts
236460
236511
  var import_mongodb = __toESM(require_lib31(), 1);
@@ -251323,7 +251374,7 @@ async function scanForVulnerabilities(dependencyTree, offlineVulnerabilityScanne
251323
251374
  }
251324
251375
  async function offlineScan(dependencyTree, offlineVulnerabilityScannerDBPath) {
251325
251376
  logger.info("using offline vulnerability scanner db");
251326
- const offlineVulnerabilityScannerDB = JSON.parse(await readFile36(offlineVulnerabilityScannerDBPath, "utf-8"));
251377
+ const offlineVulnerabilityScannerDB = JSON.parse(await readFile37(offlineVulnerabilityScannerDBPath, "utf-8"));
251327
251378
  const { ecosystemToUrlToVulnerabilityDetails, vulnerabilityDatabase } = offlineVulnerabilityScannerDB;
251328
251379
  const coanaSupportedVulnerabilitiesLoader = CoanaSupportedVulnerabilitiesLoader.create(ecosystemToUrlToVulnerabilityDetails);
251329
251380
  const vulnerabilityAccessPathLoader = CoanaSupportedVulnerabilitiesLoader.create(ecosystemToUrlToVulnerabilityDetails);
@@ -251341,7 +251392,7 @@ async function onlineScan(dependencyTree, apiKey, timeout) {
251341
251392
  }
251342
251393
 
251343
251394
  // dist/version.js
251344
- var version3 = "14.12.171";
251395
+ var version3 = "14.12.172";
251345
251396
 
251346
251397
  // dist/cli-core.js
251347
251398
  var { mapValues, omit, partition, pickBy: pickBy2 } = import_lodash15.default;
@@ -251788,6 +251839,7 @@ Subproject: ${subproject}`);
251788
251839
  logger.info(`Coana CLI version ${version3} scan initiated on ${this.rootWorkingDirectory}`);
251789
251840
  logger.info("Complete logs (including debug info) written to: ", this.coanaLogPath);
251790
251841
  this.verifyOptions();
251842
+ await checkSystemRequirements(this.analysisMemoryLimitInMb, Boolean(this.options.socketMode));
251791
251843
  if (!this.options.excludeDirs)
251792
251844
  this.options.excludeDirs = await inferExcludeDirsFromConfigurationFiles(this.rootWorkingDirectory);
251793
251845
  logger.info("using options", JSON.stringify(pickBy2(this.options, (value2, key) => {
@@ -252417,7 +252469,7 @@ async function initializeComputeFixesAndUpgradePurls(path9, options) {
252417
252469
  var compareReportsCommand = new Command();
252418
252470
  compareReportsCommand.name("compare-reports").argument("<baselineReportPath>", "Path to the baseline report").argument("<newReportPath>", "Path to the new report").option("--api-key <key>", "Set the Coana dashboard API key.").option("-d, --debug", "Enable debug logging", false).option("--no-pr-comment", "Disable pull request comments (only relevant when run from a PR)", true).option("--no-block", "Do not fail with a non-zero exit code when new reachable vulnerabilities are detected", true).option("--ignore-undeterminable-reachability", "Ignore vulnerabilities with undeterminable reachability", false).action(async (baselineReportPath, newReportPath, options) => {
252419
252471
  async function readReport(reportPath) {
252420
- return JSON.parse(await readFile37(reportPath, "utf-8"));
252472
+ return JSON.parse(await readFile38(reportPath, "utf-8"));
252421
252473
  }
252422
252474
  const baselineReport = await readReport(baselineReportPath);
252423
252475
  const newReport = await readReport(newReportPath);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coana-tech/cli",
3
- "version": "14.12.171",
3
+ "version": "14.12.172",
4
4
  "description": "Coana CLI",
5
5
  "type": "module",
6
6
  "bin": {