@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 +107 -55
- package/package.json +1 -1
- package/repos/coana-tech/goana/bin/goana-darwin-amd64.gz +0 -0
- package/repos/coana-tech/goana/bin/goana-darwin-arm64.gz +0 -0
- package/repos/coana-tech/goana/bin/goana-linux-amd64.gz +0 -0
- package/repos/coana-tech/goana/bin/goana-linux-arm64.gz +0 -0
- package/repos/coana-tech/javap-service/javap-service.jar +0 -0
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
|
|
14870
|
-
return
|
|
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
|
|
56430
|
-
if (
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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(
|
|
70349
|
+
function getPathKey(platform10, env) {
|
|
70350
70350
|
let pathKey = "PATH";
|
|
70351
|
-
if (
|
|
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:
|
|
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 (
|
|
176256
|
-
runtimeInfo = `${runtimeInfo}|${
|
|
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
|
|
194906
|
+
var platform10 = {
|
|
194907
194907
|
...utils,
|
|
194908
194908
|
...platform$1
|
|
194909
194909
|
};
|
|
194910
194910
|
function toURLEncodedForm2(data2, options) {
|
|
194911
|
-
return toFormData3(data2, new
|
|
194911
|
+
return toFormData3(data2, new platform10.classes.URLSearchParams(), {
|
|
194912
194912
|
visitor: function(value2, key, path9, helpers) {
|
|
194913
|
-
if (
|
|
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:
|
|
195063
|
-
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 ||
|
|
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 =
|
|
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 + "-" +
|
|
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 =
|
|
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,
|
|
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 =
|
|
196321
|
-
url3 = new URL(url3,
|
|
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(
|
|
196325
|
-
|
|
196324
|
+
new URL(platform10.origin),
|
|
196325
|
+
platform10.navigator && /(msie|trident)/i.test(platform10.navigator.userAgent)
|
|
196326
196326
|
) : () => true;
|
|
196327
|
-
var cookies =
|
|
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 (
|
|
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 (
|
|
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 &&
|
|
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(
|
|
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(
|
|
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
|
|
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:
|
|
211820
|
+
const { platform: platform10, arch } = process;
|
|
211821
211821
|
const nodeArch = arch === "arm" ? "arm64" : arch;
|
|
211822
|
-
const isWindows4 =
|
|
211823
|
-
const binaryName = isWindows4 ? `node-${
|
|
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: ${
|
|
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:
|
|
212049
|
+
const { platform: platform10, arch } = process;
|
|
212050
212050
|
const nodeArch = arch === "arm" ? "arm64" : arch;
|
|
212051
|
-
const isWindows4 =
|
|
212052
|
-
const binaryName = isWindows4 ? `uv-${
|
|
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: ${
|
|
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,
|
|
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 =
|
|
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:
|
|
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 =
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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
|
|
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
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|