@socketsecurity/cli-with-sentry 1.1.73 → 1.1.75
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/CHANGELOG.md +8 -0
- package/dist/cli.js +16 -7
- package/dist/cli.js.map +1 -1
- package/dist/constants.js +4 -4
- package/dist/constants.js.map +1 -1
- package/dist/tsconfig.dts.tsbuildinfo +1 -1
- package/dist/types/commands/scan/cmd-scan-create.d.mts.map +1 -1
- package/dist/types/commands/scan/create-scan-from-github.d.mts.map +1 -1
- package/dist/types/utils/api.d.mts +9 -0
- package/dist/types/utils/api.d.mts.map +1 -1
- package/dist/types/utils/dlx-binary.d.mts.map +1 -1
- package/dist/types/utils/meow-with-subcommands.d.mts.map +1 -1
- package/dist/types/utils/sdk.d.mts +6 -0
- package/dist/types/utils/sdk.d.mts.map +1 -1
- package/dist/utils.js +184 -8
- package/dist/utils.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmd-scan-create.d.mts","sourceRoot":"","sources":["../../../../src/commands/scan/cmd-scan-create.mts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,uCAAuC,CAAA;AAE9C,eAAO,MAAM,QAAQ,WAAW,CAAA;AAmHhC,eAAO,MAAM,aAAa;;;;CAIzB,CAAA;AAED,iBAAe,GAAG,CAChB,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAClC,UAAU,EAAE,UAAU,EACtB,EAAE,UAAU,EAAE,EAAE,iBAAiB,GAChC,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"cmd-scan-create.d.mts","sourceRoot":"","sources":["../../../../src/commands/scan/cmd-scan-create.mts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,uCAAuC,CAAA;AAE9C,eAAO,MAAM,QAAQ,WAAW,CAAA;AAmHhC,eAAO,MAAM,aAAa;;;;CAIzB,CAAA;AAED,iBAAe,GAAG,CAChB,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAClC,UAAU,EAAE,UAAU,EACtB,EAAE,UAAU,EAAE,EAAE,iBAAiB,GAChC,OAAO,CAAC,IAAI,CAAC,CAycf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-scan-from-github.d.mts","sourceRoot":"","sources":["../../../../src/commands/scan/create-scan-from-github.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-scan-from-github.d.mts","sourceRoot":"","sources":["../../../../src/commands/scan/create-scan-from-github.mts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE1D,wBAAsB,oBAAoB,CAAC,EACzC,GAAG,EACH,YAAY,EACZ,WAAW,EACX,WAAW,EACX,SAAS,EACT,OAAO,EACP,UAAU,EACV,KAAK,EACN,EAAE;IACD,GAAG,EAAE,OAAO,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;CACd,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CA4E9B"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import type { CResult } from '../types.mts';
|
|
2
2
|
import type { Spinner } from '@socketsecurity/registry/lib/spinner';
|
|
3
3
|
import type { SocketSdkOperations, SocketSdkResult, SocketSdkSuccessResult } from '@socketsecurity/sdk';
|
|
4
|
+
// Wrapper around fetch that supports extra CA certificates via SSL_CERT_FILE.
|
|
5
|
+
// Uses node:https.request with a custom agent when extra CA certs are needed,
|
|
6
|
+
// falling back to regular fetch() otherwise. Follows redirects like fetch().
|
|
7
|
+
export type ApiFetchInit = {
|
|
8
|
+
body?: string | undefined;
|
|
9
|
+
headers?: Record<string, string> | undefined;
|
|
10
|
+
method?: string | undefined;
|
|
11
|
+
};
|
|
12
|
+
export declare function apiFetch(url: string, init?: ApiFetchInit): Promise<Response>;
|
|
4
13
|
export type CommandRequirements = {
|
|
5
14
|
permissions?: string[] | undefined;
|
|
6
15
|
quota?: number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.mts","sourceRoot":"","sources":["../../../src/utils/api.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.d.mts","sourceRoot":"","sources":["../../../src/utils/api.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dlx-binary.d.mts","sourceRoot":"","sources":["../../../src/utils/dlx-binary.mts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"dlx-binary.d.mts","sourceRoot":"","sources":["../../../src/utils/dlx-binary.mts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAA;AAM1D,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACb,MAAM,oCAAoC,CAAA;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAA;IACX,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,wCAAwC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;IAC1B,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gCAAgC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAA;IAClB,+CAA+C;IAC/C,UAAU,EAAE,OAAO,CAAA;IACnB,iDAAiD;IACjD,YAAY,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,SAAS,CAAC,CAAA;CAClD;AA8HD;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,GAAE,MAA6B,GACpC,OAAO,CAAC,MAAM,CAAC,CAmDjB;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAClC,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,EACtC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,GAClC,OAAO,CAAC,eAAe,CAAC,CAiE1B;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAC3C,KAAK,CAAC;IACJ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAC,CACH,CAmDA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meow-with-subcommands.d.mts","sourceRoot":"","sources":["../../../src/utils/meow-with-subcommands.mts"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAAY,SAAS,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAE3C,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;IACvB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC7B;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AAEjD,MAAM,MAAM,gBAAgB,GAAG,CAC7B,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAClC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,KACzD,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAEzB,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC5B,GAAG,EAAE,gBAAgB,CAAA;CACtB;AAED,4EAA4E;AAC5E,2EAA2E;AAC3E,qEAAqE;AACrE,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,SAAS,CAAA;IAChB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,KAAK,MAAM,CAAA;CAC5D;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,CAAA;CACvC;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,CAAA;IAClC,UAAU,EAAE,UAAU,CAAA;IACtB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;CAC3C;AAED,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAC5E,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAChC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAChC;AA8KD;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,WAAW,GAAE,OAAe,QAW7B;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,UAAU,EAClB,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,GAChC,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"meow-with-subcommands.d.mts","sourceRoot":"","sources":["../../../src/utils/meow-with-subcommands.mts"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAAY,SAAS,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAE3C,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;IACvB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC7B;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AAEjD,MAAM,MAAM,gBAAgB,GAAG,CAC7B,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAClC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,KACzD,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAEzB,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC5B,GAAG,EAAE,gBAAgB,CAAA;CACtB;AAED,4EAA4E;AAC5E,2EAA2E;AAC3E,qEAAqE;AACrE,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,SAAS,CAAA;IAChB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,KAAK,MAAM,CAAA;CAC5D;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,CAAA;CACvC;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,CAAA;IAClC,UAAU,EAAE,UAAU,CAAA;IACtB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;CAC3C;AAED,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAC5E,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAChC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAChC;AA8KD;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,WAAW,GAAE,OAAe,QAW7B;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,UAAU,EAClB,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,GAChC,OAAO,CAAC,IAAI,CAAC,CAgdf;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,CAAA;IAClC,MAAM,EAAE,gBAAgB,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;CACvB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACxC,CAAA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS,GACtC,MAAM,CAAC,SAAS,CAAC,CAiHnB"}
|
|
@@ -4,6 +4,12 @@ import type { CResult } from '../types.mts';
|
|
|
4
4
|
export declare function getDefaultApiBaseUrl(): string | undefined;
|
|
5
5
|
// The Socket API server that should be used for operations.
|
|
6
6
|
export declare function getDefaultProxyUrl(): string | undefined;
|
|
7
|
+
// Returns combined root and extra CA certificates when SSL_CERT_FILE is set
|
|
8
|
+
// but NODE_EXTRA_CA_CERTS is not. Node.js loads NODE_EXTRA_CA_CERTS at process
|
|
9
|
+
// startup, so setting SSL_CERT_FILE alone does not affect the current process.
|
|
10
|
+
// This function reads the certificate file manually and combines it with the
|
|
11
|
+
// default root certificates for use in HTTPS agents.
|
|
12
|
+
export declare function getExtraCaCerts(): string[] | undefined;
|
|
7
13
|
export declare function getDefaultApiToken(): string | undefined;
|
|
8
14
|
export declare function getPublicApiToken(): string;
|
|
9
15
|
export declare function getVisibleTokenPrefix(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.d.mts","sourceRoot":"","sources":["../../../src/utils/sdk.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sdk.d.mts","sourceRoot":"","sources":["../../../src/utils/sdk.mts"],"names":[],"mappings":"AAsCA,OAAO,EAAE,SAAS,EAA8B,MAAM,qBAAqB,CAAA;AAW3E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAO3C,4DAA4D;AAC5D,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAKzD;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAKvD;AAMD,4EAA4E;AAC5E,+EAA+E;AAC/E,+EAA+E;AAC/E,6EAA6E;AAC7E,qDAAqD;AACrD,wBAAgB,eAAe,IAAI,MAAM,EAAE,GAAG,SAAS,CAwBtD;AAKD,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAavD;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAQ9C;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B,CAAA;AAED,wBAAsB,QAAQ,CAC5B,OAAO,CAAC,EAAE,eAAe,GAAG,SAAS,GACpC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAgI7B"}
|
package/dist/utils.js
CHANGED
|
@@ -18,6 +18,7 @@ var prompts = require('../external/@socketsecurity/registry/lib/prompts');
|
|
|
18
18
|
var spawn = require('../external/@socketsecurity/registry/lib/spawn');
|
|
19
19
|
var fs$1 = require('../external/@socketsecurity/registry/lib/fs');
|
|
20
20
|
var require$$5 = require('node:module');
|
|
21
|
+
var require$$3 = require('node:https');
|
|
21
22
|
var fs = require('node:fs');
|
|
22
23
|
var require$$13 = require('../external/@socketsecurity/registry/lib/url');
|
|
23
24
|
var agent = require('../external/@socketsecurity/registry/lib/agent');
|
|
@@ -28,6 +29,7 @@ var globs = require('../external/@socketsecurity/registry/lib/globs');
|
|
|
28
29
|
var streams = require('../external/@socketsecurity/registry/lib/streams');
|
|
29
30
|
var promises = require('node:timers/promises');
|
|
30
31
|
var require$$1 = require('node:util');
|
|
32
|
+
var node_tls = require('node:tls');
|
|
31
33
|
var os = require('node:os');
|
|
32
34
|
var process$1 = require('node:process');
|
|
33
35
|
var require$$0 = require('node:crypto');
|
|
@@ -1826,6 +1828,41 @@ function getDefaultProxyUrl() {
|
|
|
1826
1828
|
return require$$13.isUrl(apiProxy) ? apiProxy : undefined;
|
|
1827
1829
|
}
|
|
1828
1830
|
|
|
1831
|
+
// Cached extra CA certificates for SSL_CERT_FILE support.
|
|
1832
|
+
let _extraCaCerts;
|
|
1833
|
+
let _extraCaCertsResolved = false;
|
|
1834
|
+
|
|
1835
|
+
// Returns combined root and extra CA certificates when SSL_CERT_FILE is set
|
|
1836
|
+
// but NODE_EXTRA_CA_CERTS is not. Node.js loads NODE_EXTRA_CA_CERTS at process
|
|
1837
|
+
// startup, so setting SSL_CERT_FILE alone does not affect the current process.
|
|
1838
|
+
// This function reads the certificate file manually and combines it with the
|
|
1839
|
+
// default root certificates for use in HTTPS agents.
|
|
1840
|
+
function getExtraCaCerts() {
|
|
1841
|
+
if (_extraCaCertsResolved) {
|
|
1842
|
+
return _extraCaCerts;
|
|
1843
|
+
}
|
|
1844
|
+
_extraCaCertsResolved = true;
|
|
1845
|
+
// Node.js already loaded extra CA certs at startup.
|
|
1846
|
+
if (process.env['NODE_EXTRA_CA_CERTS']) {
|
|
1847
|
+
return undefined;
|
|
1848
|
+
}
|
|
1849
|
+
// Check for SSL_CERT_FILE fallback via constants.
|
|
1850
|
+
const certPath = constants.default.ENV.NODE_EXTRA_CA_CERTS;
|
|
1851
|
+
if (!certPath) {
|
|
1852
|
+
return undefined;
|
|
1853
|
+
}
|
|
1854
|
+
try {
|
|
1855
|
+
const extraCerts = fs.readFileSync(certPath, 'utf-8');
|
|
1856
|
+
// Combine default root certificates with extra certificates. Specifying ca
|
|
1857
|
+
// in an agent replaces the default trust store, so both must be included.
|
|
1858
|
+
_extraCaCerts = [...node_tls.rootCertificates, extraCerts];
|
|
1859
|
+
return _extraCaCerts;
|
|
1860
|
+
} catch (e) {
|
|
1861
|
+
require$$9.debugFn('warn', `Failed to read certificate file: ${certPath}`, e);
|
|
1862
|
+
return undefined;
|
|
1863
|
+
}
|
|
1864
|
+
}
|
|
1865
|
+
|
|
1829
1866
|
// This Socket API token should be stored globally for the duration of the CLI execution.
|
|
1830
1867
|
let _defaultToken;
|
|
1831
1868
|
function getDefaultApiToken() {
|
|
@@ -1881,10 +1918,24 @@ async function setupSdk(options) {
|
|
|
1881
1918
|
// Usage of HttpProxyAgent vs. HttpsProxyAgent based on the chart at:
|
|
1882
1919
|
// https://github.com/delvedor/hpagent?tab=readme-ov-file#usage
|
|
1883
1920
|
const ProxyAgent = apiBaseUrl?.startsWith('http:') ? vendor.HttpProxyAgent : vendor.HttpsProxyAgent;
|
|
1921
|
+
|
|
1922
|
+
// Load extra CA certificates for SSL_CERT_FILE support when
|
|
1923
|
+
// NODE_EXTRA_CA_CERTS was not set at process startup.
|
|
1924
|
+
const ca = getExtraCaCerts();
|
|
1884
1925
|
const sdkOptions = {
|
|
1885
1926
|
...(apiProxy ? {
|
|
1886
1927
|
agent: new ProxyAgent({
|
|
1887
|
-
proxy: apiProxy
|
|
1928
|
+
proxy: apiProxy,
|
|
1929
|
+
...(ca ? {
|
|
1930
|
+
ca,
|
|
1931
|
+
proxyConnectOptions: {
|
|
1932
|
+
ca
|
|
1933
|
+
}
|
|
1934
|
+
} : {})
|
|
1935
|
+
})
|
|
1936
|
+
} : ca ? {
|
|
1937
|
+
agent: new require$$3.Agent({
|
|
1938
|
+
ca
|
|
1888
1939
|
})
|
|
1889
1940
|
} : {}),
|
|
1890
1941
|
...(apiBaseUrl ? {
|
|
@@ -1976,7 +2027,124 @@ async function setupSdk(options) {
|
|
|
1976
2027
|
* - Falls back to configured apiBaseUrl or default API_V0_URL
|
|
1977
2028
|
*/
|
|
1978
2029
|
|
|
2030
|
+
const MAX_REDIRECTS = 20;
|
|
1979
2031
|
const NO_ERROR_MESSAGE = 'No error message returned';
|
|
2032
|
+
|
|
2033
|
+
// Cached HTTPS agent for extra CA certificate support in direct API calls.
|
|
2034
|
+
let _httpsAgent;
|
|
2035
|
+
let _httpsAgentResolved = false;
|
|
2036
|
+
|
|
2037
|
+
// Returns an HTTPS agent configured with extra CA certificates when
|
|
2038
|
+
// SSL_CERT_FILE is set but NODE_EXTRA_CA_CERTS is not.
|
|
2039
|
+
function getHttpsAgent() {
|
|
2040
|
+
if (_httpsAgentResolved) {
|
|
2041
|
+
return _httpsAgent;
|
|
2042
|
+
}
|
|
2043
|
+
_httpsAgentResolved = true;
|
|
2044
|
+
const ca = getExtraCaCerts();
|
|
2045
|
+
if (!ca) {
|
|
2046
|
+
return undefined;
|
|
2047
|
+
}
|
|
2048
|
+
_httpsAgent = new require$$3.Agent({
|
|
2049
|
+
ca
|
|
2050
|
+
});
|
|
2051
|
+
return _httpsAgent;
|
|
2052
|
+
}
|
|
2053
|
+
|
|
2054
|
+
// Wrapper around fetch that supports extra CA certificates via SSL_CERT_FILE.
|
|
2055
|
+
// Uses node:https.request with a custom agent when extra CA certs are needed,
|
|
2056
|
+
// falling back to regular fetch() otherwise. Follows redirects like fetch().
|
|
2057
|
+
|
|
2058
|
+
// Internal httpsRequest-based fetch with redirect support.
|
|
2059
|
+
function _httpsRequestFetch(url, init, agent, redirectCount) {
|
|
2060
|
+
return new Promise((resolve, reject) => {
|
|
2061
|
+
const headers = {
|
|
2062
|
+
...init.headers
|
|
2063
|
+
};
|
|
2064
|
+
// Set Content-Length for request bodies to avoid chunked transfer encoding.
|
|
2065
|
+
if (init.body) {
|
|
2066
|
+
headers['content-length'] = String(Buffer.byteLength(init.body));
|
|
2067
|
+
}
|
|
2068
|
+
const req = require$$3.request(url, {
|
|
2069
|
+
method: init.method || 'GET',
|
|
2070
|
+
headers,
|
|
2071
|
+
agent
|
|
2072
|
+
}, res => {
|
|
2073
|
+
const {
|
|
2074
|
+
statusCode
|
|
2075
|
+
} = res;
|
|
2076
|
+
// Follow redirects to match fetch() behavior.
|
|
2077
|
+
if (statusCode && statusCode >= 300 && statusCode < 400 && res.headers['location']) {
|
|
2078
|
+
// Consume the response body to free up memory.
|
|
2079
|
+
res.resume();
|
|
2080
|
+
if (redirectCount >= MAX_REDIRECTS) {
|
|
2081
|
+
reject(new Error('Maximum redirect limit reached'));
|
|
2082
|
+
return;
|
|
2083
|
+
}
|
|
2084
|
+
const redirectUrl = new URL(res.headers['location'], url).href;
|
|
2085
|
+
// Strip sensitive headers on cross-origin redirects to match
|
|
2086
|
+
// fetch() behavior per the Fetch spec.
|
|
2087
|
+
const originalOrigin = new URL(url).origin;
|
|
2088
|
+
const redirectOrigin = new URL(redirectUrl).origin;
|
|
2089
|
+
let redirectHeaders = init.headers;
|
|
2090
|
+
if (originalOrigin !== redirectOrigin && redirectHeaders) {
|
|
2091
|
+
redirectHeaders = {
|
|
2092
|
+
...redirectHeaders
|
|
2093
|
+
};
|
|
2094
|
+
for (const key of Object.keys(redirectHeaders)) {
|
|
2095
|
+
const lower = key.toLowerCase();
|
|
2096
|
+
if (lower === 'authorization' || lower === 'cookie' || lower === 'proxy-authorization') {
|
|
2097
|
+
delete redirectHeaders[key];
|
|
2098
|
+
}
|
|
2099
|
+
}
|
|
2100
|
+
}
|
|
2101
|
+
// 307 and 308 preserve the original method and body.
|
|
2102
|
+
const preserveMethod = statusCode === 307 || statusCode === 308;
|
|
2103
|
+
resolve(_httpsRequestFetch(redirectUrl, preserveMethod ? {
|
|
2104
|
+
...init,
|
|
2105
|
+
headers: redirectHeaders
|
|
2106
|
+
} : {
|
|
2107
|
+
headers: redirectHeaders,
|
|
2108
|
+
method: 'GET'
|
|
2109
|
+
}, agent, redirectCount + 1));
|
|
2110
|
+
return;
|
|
2111
|
+
}
|
|
2112
|
+
const chunks = [];
|
|
2113
|
+
res.on('data', chunk => chunks.push(chunk));
|
|
2114
|
+
res.on('end', () => {
|
|
2115
|
+
const body = Buffer.concat(chunks);
|
|
2116
|
+
const responseHeaders = new Headers();
|
|
2117
|
+
for (const [key, value] of Object.entries(res.headers)) {
|
|
2118
|
+
if (typeof value === 'string') {
|
|
2119
|
+
responseHeaders.set(key, value);
|
|
2120
|
+
} else if (Array.isArray(value)) {
|
|
2121
|
+
for (const v of value) {
|
|
2122
|
+
responseHeaders.append(key, v);
|
|
2123
|
+
}
|
|
2124
|
+
}
|
|
2125
|
+
}
|
|
2126
|
+
resolve(new Response(body, {
|
|
2127
|
+
status: statusCode ?? 0,
|
|
2128
|
+
statusText: res.statusMessage ?? '',
|
|
2129
|
+
headers: responseHeaders
|
|
2130
|
+
}));
|
|
2131
|
+
});
|
|
2132
|
+
res.on('error', reject);
|
|
2133
|
+
});
|
|
2134
|
+
if (init.body) {
|
|
2135
|
+
req.write(init.body);
|
|
2136
|
+
}
|
|
2137
|
+
req.on('error', reject);
|
|
2138
|
+
req.end();
|
|
2139
|
+
});
|
|
2140
|
+
}
|
|
2141
|
+
async function apiFetch(url, init = {}) {
|
|
2142
|
+
const agent = getHttpsAgent();
|
|
2143
|
+
if (!agent) {
|
|
2144
|
+
return await fetch(url, init);
|
|
2145
|
+
}
|
|
2146
|
+
return await _httpsRequestFetch(url, init, agent, 0);
|
|
2147
|
+
}
|
|
1980
2148
|
/**
|
|
1981
2149
|
* Get command requirements from requirements.json based on command path.
|
|
1982
2150
|
*/
|
|
@@ -2174,7 +2342,7 @@ async function queryApi(path, apiToken) {
|
|
|
2174
2342
|
throw new Error('Socket API base URL is not configured.');
|
|
2175
2343
|
}
|
|
2176
2344
|
const url = `${baseUrl}${baseUrl.endsWith('/') ? '' : '/'}${path}`;
|
|
2177
|
-
const result = await
|
|
2345
|
+
const result = await apiFetch(url, {
|
|
2178
2346
|
method: 'GET',
|
|
2179
2347
|
headers: {
|
|
2180
2348
|
Authorization: `Basic ${btoa(`${apiToken}:`)}`
|
|
@@ -2328,7 +2496,7 @@ async function sendApiRequest(path, options) {
|
|
|
2328
2496
|
body: JSON.stringify(body)
|
|
2329
2497
|
} : {})
|
|
2330
2498
|
};
|
|
2331
|
-
result = await
|
|
2499
|
+
result = await apiFetch(`${baseUrl}${baseUrl.endsWith('/') ? '' : '/'}${path}`, fetchOptions);
|
|
2332
2500
|
if (description) {
|
|
2333
2501
|
spinner.successAndStop(`Received Socket API response (after requesting ${description}).`);
|
|
2334
2502
|
}
|
|
@@ -3181,8 +3349,7 @@ async function meowWithSubcommands(config, options) {
|
|
|
3181
3349
|
// "Bucket" some commands for easier usage.
|
|
3182
3350
|
const commands = new Set(['analytics', 'audit-log', 'ci', 'cdxgen', 'config', 'dependencies', 'fix', 'install',
|
|
3183
3351
|
//'json',
|
|
3184
|
-
'license', 'login', 'logout', 'manifest', constants.NPM, constants.NPX, 'optimize', 'organization', 'package',
|
|
3185
|
-
//'patch',
|
|
3352
|
+
'license', 'login', 'logout', 'manifest', constants.NPM, constants.NPX, 'optimize', 'organization', 'package', 'patch',
|
|
3186
3353
|
// PNPM,
|
|
3187
3354
|
'raw-npm', 'raw-npx', 'repository', 'scan',
|
|
3188
3355
|
//'security',
|
|
@@ -3202,7 +3369,7 @@ async function meowWithSubcommands(config, options) {
|
|
|
3202
3369
|
// test snapshots we use joinAnd.
|
|
3203
3370
|
arrays.joinAnd(Array.from(commands).sort(sorts.naturalCompare).map(c => `'${c}'`)));
|
|
3204
3371
|
}
|
|
3205
|
-
lines.push('Note: All commands have their own --help', '', 'Main commands', ` socket login ${description(subcommands['login'])}`, ` socket scan create Create a new Socket scan and report`, ` socket npm/lodash@4.17.21 Request the Socket score of a package`, ` socket fix ${description(subcommands['fix'])}`, ` socket optimize ${description(subcommands['optimize'])}`, ` socket cdxgen ${description(subcommands['cdxgen'])}`, ` socket ci ${description(subcommands['ci'])}`, ``, 'Socket API', ` analytics ${description(subcommands['analytics'])}`, ` audit-log ${description(subcommands['audit-log'])}`, ` organization ${description(subcommands['organization'])}`, ` package ${description(subcommands['package'])}`, ` repository ${description(subcommands['repository'])}`, ` scan ${description(subcommands['scan'])}`, ` threat-feed ${description(subcommands['threat-feed'])}`, ``, 'Local tools', ` manifest ${description(subcommands['manifest'])}`, ` npm ${description(subcommands[constants.NPM])}`, ` npx ${description(subcommands[constants.NPX])}`, ` raw-npm ${description(subcommands['raw-npm'])}`, ` raw-npx ${description(subcommands['raw-npx'])}`, '', 'CLI configuration', ` config ${description(subcommands['config'])}`, ` install ${description(subcommands['install'])}`, ` login Socket API login and CLI setup`, ` logout ${description(subcommands['logout'])}`, ` uninstall ${description(subcommands['uninstall'])}`, ` wrapper ${description(subcommands['wrapper'])}`);
|
|
3372
|
+
lines.push('Note: All commands have their own --help', '', 'Main commands', ` socket login ${description(subcommands['login'])}`, ` socket scan create Create a new Socket scan and report`, ` socket npm/lodash@4.17.21 Request the Socket score of a package`, ` socket fix ${description(subcommands['fix'])}`, ` socket optimize ${description(subcommands['optimize'])}`, ` socket cdxgen ${description(subcommands['cdxgen'])}`, ` socket ci ${description(subcommands['ci'])}`, ``, 'Socket API', ` analytics ${description(subcommands['analytics'])}`, ` audit-log ${description(subcommands['audit-log'])}`, ` organization ${description(subcommands['organization'])}`, ` package ${description(subcommands['package'])}`, ` repository ${description(subcommands['repository'])}`, ` scan ${description(subcommands['scan'])}`, ` threat-feed ${description(subcommands['threat-feed'])}`, ``, 'Local tools', ` manifest ${description(subcommands['manifest'])}`, ` npm ${description(subcommands[constants.NPM])}`, ` npx ${description(subcommands[constants.NPX])}`, ` patch ${description(subcommands['patch'])}`, ` raw-npm ${description(subcommands['raw-npm'])}`, ` raw-npx ${description(subcommands['raw-npx'])}`, '', 'CLI configuration', ` config ${description(subcommands['config'])}`, ` install ${description(subcommands['install'])}`, ` login Socket API login and CLI setup`, ` logout ${description(subcommands['logout'])}`, ` uninstall ${description(subcommands['uninstall'])}`, ` wrapper ${description(subcommands['wrapper'])}`);
|
|
3206
3373
|
} else {
|
|
3207
3374
|
lines.push('Commands');
|
|
3208
3375
|
lines.push(` ${getHelpListOutput({
|
|
@@ -3278,9 +3445,17 @@ async function meowWithSubcommands(config, options) {
|
|
|
3278
3445
|
});
|
|
3279
3446
|
const {
|
|
3280
3447
|
dryRun,
|
|
3281
|
-
help: helpFlag
|
|
3448
|
+
help: helpFlag,
|
|
3449
|
+
version: versionFlag
|
|
3282
3450
|
} = cli2.flags;
|
|
3283
3451
|
|
|
3452
|
+
// Handle --version: print version and exit successfully.
|
|
3453
|
+
if (versionFlag) {
|
|
3454
|
+
logger.logger.log(constants.default.ENV.INLINED_SOCKET_CLI_VERSION);
|
|
3455
|
+
process.exitCode = 0;
|
|
3456
|
+
return;
|
|
3457
|
+
}
|
|
3458
|
+
|
|
3284
3459
|
// ...else we provide basic instructions and help.
|
|
3285
3460
|
if (!shouldSuppressBanner(cli2.flags)) {
|
|
3286
3461
|
emitBanner(name, orgFlag, compactMode);
|
|
@@ -7494,6 +7669,7 @@ exports.AuthError = AuthError;
|
|
|
7494
7669
|
exports.COMPLETION_CMD_PREFIX = COMPLETION_CMD_PREFIX;
|
|
7495
7670
|
exports.InputError = InputError;
|
|
7496
7671
|
exports.RangeStyles = RangeStyles;
|
|
7672
|
+
exports.apiFetch = apiFetch;
|
|
7497
7673
|
exports.cacheFetch = cacheFetch;
|
|
7498
7674
|
exports.captureException = captureException;
|
|
7499
7675
|
exports.checkCommandInput = checkCommandInput;
|
|
@@ -7620,5 +7796,5 @@ exports.updateConfigValue = updateConfigValue;
|
|
|
7620
7796
|
exports.walkNestedMap = walkNestedMap;
|
|
7621
7797
|
exports.webLink = webLink;
|
|
7622
7798
|
exports.writeSocketJson = writeSocketJson;
|
|
7623
|
-
//# debugId=
|
|
7799
|
+
//# debugId=595bf60a-ac9e-447e-99c5-3fd0786ee2eb
|
|
7624
7800
|
//# sourceMappingURL=utils.js.map
|