socket 0.14.59 → 0.14.60
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/bin/cli.js +5 -5
- package/dist/constants.d.ts +12 -13
- package/dist/constants.js +36 -41
- package/dist/constants.js.map +1 -1
- package/dist/module-sync/cli.js +196 -153
- package/dist/module-sync/cli.js.map +1 -1
- package/dist/module-sync/shadow-bin.d.ts +1 -1
- package/dist/module-sync/shadow-bin.js +15 -12
- package/dist/module-sync/shadow-bin.js.map +1 -1
- package/dist/module-sync/shadow-npm-inject.js +51 -19
- package/dist/module-sync/shadow-npm-inject.js.map +1 -1
- package/dist/module-sync/shadow-npm-paths.js +15 -11
- package/dist/module-sync/shadow-npm-paths.js.map +1 -1
- package/dist/require/cli.js +196 -153
- package/dist/require/cli.js.map +1 -1
- package/dist/require/vendor.js +90 -5
- package/dist/require/vendor.js.map +1 -1
- package/package.json +18 -18
package/bin/cli.js
CHANGED
|
@@ -5,12 +5,12 @@ const process = require('node:process')
|
|
|
5
5
|
|
|
6
6
|
const constants = require('../dist/constants')
|
|
7
7
|
|
|
8
|
-
const { DIST_TYPE,
|
|
8
|
+
const { DIST_TYPE, INLINED_SOCKET_CLI_SENTRY_BUILD } = constants
|
|
9
9
|
|
|
10
10
|
if (
|
|
11
11
|
DIST_TYPE === 'require' &&
|
|
12
|
-
// Lazily access constants.ENV[
|
|
13
|
-
!constants.ENV[
|
|
12
|
+
// Lazily access constants.ENV[INLINED_SOCKET_CLI_SENTRY_BUILD].
|
|
13
|
+
!constants.ENV[INLINED_SOCKET_CLI_SENTRY_BUILD]
|
|
14
14
|
) {
|
|
15
15
|
// Lazily access constants.distCliPath.
|
|
16
16
|
require(constants.distCliPath)
|
|
@@ -25,8 +25,8 @@ if (
|
|
|
25
25
|
...constants.nodeHardenFlags,
|
|
26
26
|
// Lazily access constants.nodeNoWarningsFlags.
|
|
27
27
|
...constants.nodeNoWarningsFlags,
|
|
28
|
-
// Lazily access constants.ENV[
|
|
29
|
-
...(constants.ENV[
|
|
28
|
+
// Lazily access constants.ENV[INLINED_SOCKET_CLI_SENTRY_BUILD].
|
|
29
|
+
...(constants.ENV[INLINED_SOCKET_CLI_SENTRY_BUILD]
|
|
30
30
|
? [
|
|
31
31
|
'--require',
|
|
32
32
|
// Lazily access constants.distInstrumentWithSentryPath.
|
package/dist/constants.d.ts
CHANGED
|
@@ -14,16 +14,12 @@ type Internals = Remap<Omit<RegistryInternals, 'getIPC'> & Readonly<{
|
|
|
14
14
|
}>>;
|
|
15
15
|
type ENV = Remap<RegistryEnv & Readonly<{
|
|
16
16
|
SOCKET_CLI_DEBUG: boolean;
|
|
17
|
-
SOCKET_CLI_LEGACY_BUILD: boolean;
|
|
18
17
|
SOCKET_CLI_NO_API_TOKEN: boolean;
|
|
19
|
-
SOCKET_CLI_PUBLISHED_BUILD: boolean;
|
|
20
|
-
SOCKET_CLI_SENTRY_BUILD: boolean;
|
|
21
|
-
SOCKET_CLI_VERSION_HASH: string;
|
|
22
18
|
}>>;
|
|
23
19
|
type IPC = Readonly<{
|
|
24
20
|
SOCKET_CLI_FIX?: string | undefined;
|
|
25
21
|
SOCKET_CLI_OPTIMIZE?: boolean | undefined;
|
|
26
|
-
SOCKET_CLI_SAFE_WRAPPER?:
|
|
22
|
+
SOCKET_CLI_SAFE_WRAPPER?: string | undefined;
|
|
27
23
|
}>;
|
|
28
24
|
declare const constants: {
|
|
29
25
|
readonly CI: "CI";
|
|
@@ -31,7 +27,6 @@ declare const constants: {
|
|
|
31
27
|
readonly NODE_MODULES: "node_modules";
|
|
32
28
|
readonly NPM: "npm";
|
|
33
29
|
readonly NPX: "npx";
|
|
34
|
-
readonly PACKAGE_JSON: "package.json";
|
|
35
30
|
readonly SOCKET_SECURITY_SCOPE: "@socketsecurity";
|
|
36
31
|
readonly kInternalsSymbol: unique symbol;
|
|
37
32
|
readonly NODE_AUTH_TOKEN: "NODE_AUTH_TOKEN";
|
|
@@ -45,9 +40,12 @@ declare const constants: {
|
|
|
45
40
|
readonly EMPTY_FILE: "/* empty */\n";
|
|
46
41
|
readonly ESLINT_CONFIG_JS: "eslint.config.js";
|
|
47
42
|
readonly ESNEXT: "esnext";
|
|
43
|
+
readonly EXT_CMD: ".cmd";
|
|
44
|
+
readonly EXT_PS1: ".ps1";
|
|
48
45
|
readonly EXTENSIONS: "extensions";
|
|
49
46
|
readonly EXTENSIONS_JSON: "extensions.json";
|
|
50
47
|
readonly GIT_IGNORE: ".gitignore";
|
|
48
|
+
readonly HIDDEN_PACKAGE_LOCK_JSON: ".package-lock.json";
|
|
51
49
|
readonly LATEST: "latest";
|
|
52
50
|
readonly LICENSE: "LICENSE";
|
|
53
51
|
readonly LICENSE_GLOB: "LICEN[CS]E{[.-]*,}";
|
|
@@ -65,7 +63,8 @@ declare const constants: {
|
|
|
65
63
|
readonly PACKAGE_DEFAULT_SOCKET_CATEGORIES: readonly ["cleanup"];
|
|
66
64
|
readonly PACKAGE_DEFAULT_NODE_RANGE: string;
|
|
67
65
|
readonly PACKAGE_DEFAULT_VERSION: "1.0.0";
|
|
68
|
-
readonly
|
|
66
|
+
readonly PACKAGE_JSON: "package.json";
|
|
67
|
+
readonly PACKAGE_LOCK_JSON: "package-lock.json";
|
|
69
68
|
readonly README_GLOB: "README{.*,}";
|
|
70
69
|
readonly README_GLOB_RECURSIVE: "**/README{.*,}";
|
|
71
70
|
readonly README_MD: "README.md";
|
|
@@ -95,6 +94,7 @@ declare const constants: {
|
|
|
95
94
|
readonly UNDEFINED_TOKEN: {};
|
|
96
95
|
readonly UNLICENCED: "UNLICENCED";
|
|
97
96
|
readonly UNLICENSED: "UNLICENSED";
|
|
97
|
+
readonly UTF8: "utf8";
|
|
98
98
|
readonly WIN32: boolean;
|
|
99
99
|
readonly abortController: AbortController;
|
|
100
100
|
readonly abortSignal: AbortSignal;
|
|
@@ -103,6 +103,7 @@ declare const constants: {
|
|
|
103
103
|
readonly ignoreGlobs: readonly ["**/.git", "**/.npmrc", "**/bun.lockb?", "**/node_modules", "**/package-lock.json", "**/pnpm-lock.ya?ml", "**/yarn.lock", "**/.DS_Store", "**/.gitignore", "**/.hg", "**/.lock-wscript", "**/.npmignore", "**/.svn", "**/.wafpickle-*", "**/.*.swp", "**/._*/**", "**/archived-packages/**", "**/build/config.gypi", "**/CVS", "**/npm-debug.log", "**/*.orig", "**/.env", "**/.eslintcache", "**/.nvm", "**/.tap", "**/.tapci.yaml", "**/.vscode", "**/*.tsbuildinfo", "**/Thumbs.db"];
|
|
104
104
|
readonly lifecycleScriptNames: ReadonlySet<string>;
|
|
105
105
|
readonly maintainedNodeVersions: registryConstants.MaintainedNodeVersions;
|
|
106
|
+
readonly nodeHardenFlags: readonly string[] & string[];
|
|
106
107
|
readonly nodeNoWarningsFlags: readonly string[];
|
|
107
108
|
readonly npmExecPath: string;
|
|
108
109
|
readonly packageExtensions: readonly [string, object][];
|
|
@@ -154,6 +155,9 @@ declare const constants: {
|
|
|
154
155
|
readonly DIST_TYPE: 'module-sync' | 'require';
|
|
155
156
|
readonly DRY_RUN_LABEL: '[DryRun]';
|
|
156
157
|
readonly DRY_RUN_BAIL_TEXT: '[DryRun] Bailing now';
|
|
158
|
+
readonly INLINED_SOCKET_CLI_LEGACY_BUILD: 'INLINED_SOCKET_CLI_LEGACY_BUILD';
|
|
159
|
+
readonly INLINED_SOCKET_CLI_PUBLISHED_BUILD: 'INLINED_SOCKET_CLI_PUBLISHED_BUILD';
|
|
160
|
+
readonly INLINED_SOCKET_CLI_SENTRY_BUILD: 'INLINED_SOCKET_CLI_SENTRY_BUILD';
|
|
157
161
|
readonly IPC: IPC;
|
|
158
162
|
readonly LOCK_EXT: '.lock';
|
|
159
163
|
readonly MODULE_SYNC: 'module-sync';
|
|
@@ -172,26 +176,23 @@ declare const constants: {
|
|
|
172
176
|
readonly SOCKET_CLI_FIX: 'SOCKET_CLI_FIX';
|
|
173
177
|
readonly SOCKET_CLI_ISSUES_URL: 'https://github.com/SocketDev/socket-cli/issues';
|
|
174
178
|
readonly SOCKET_CLI_SENTRY_BIN_NAME_ALIAS: 'cli-with-sentry';
|
|
175
|
-
readonly SOCKET_CLI_LEGACY_BUILD: 'SOCKET_CLI_LEGACY_BUILD';
|
|
176
179
|
readonly SOCKET_CLI_LEGACY_PACKAGE_NAME: '@socketsecurity/cli';
|
|
177
180
|
readonly SOCKET_CLI_NO_API_TOKEN: 'SOCKET_CLI_NO_API_TOKEN';
|
|
178
181
|
readonly SOCKET_CLI_NPM_BIN_NAME: 'socket-npm';
|
|
179
182
|
readonly SOCKET_CLI_NPX_BIN_NAME: 'socket-npx';
|
|
180
183
|
readonly SOCKET_CLI_OPTIMIZE: 'SOCKET_CLI_OPTIMIZE';
|
|
181
184
|
readonly SOCKET_CLI_PACKAGE_NAME: 'socket';
|
|
182
|
-
readonly SOCKET_CLI_PUBLISHED_BUILD: 'SOCKET_CLI_PUBLISHED_BUILD';
|
|
183
185
|
readonly SOCKET_CLI_SAFE_WRAPPER: 'SOCKET_CLI_SAFE_WRAPPER';
|
|
184
186
|
readonly SOCKET_CLI_SENTRY_BIN_NAME: 'socket-with-sentry';
|
|
185
|
-
readonly SOCKET_CLI_SENTRY_BUILD: 'SOCKET_CLI_SENTRY_BUILD';
|
|
186
187
|
readonly SOCKET_CLI_SENTRY_NPM_BIN_NAME: 'socket-npm-with-sentry';
|
|
187
188
|
readonly SOCKET_CLI_SENTRY_NPX_BIN_NAME: 'socket-npx-with-sentry';
|
|
188
189
|
readonly SOCKET_CLI_SENTRY_PACKAGE_NAME: '@socketsecurity/cli-with-sentry';
|
|
189
|
-
readonly SOCKET_CLI_VERSION_HASH: 'SOCKET_CLI_VERSION_HASH';
|
|
190
190
|
readonly VLT: 'vlt';
|
|
191
191
|
readonly WITH_SENTRY: 'with-sentry';
|
|
192
192
|
readonly YARN: 'yarn';
|
|
193
193
|
readonly YARN_BERRY: 'yarn/berry';
|
|
194
194
|
readonly YARN_CLASSIC: 'yarn/classic';
|
|
195
|
+
readonly YARN_LOCK: 'yarn.lock';
|
|
195
196
|
readonly bashRcPath: string;
|
|
196
197
|
readonly distCliPath: string;
|
|
197
198
|
readonly distInstrumentWithSentryPath: string;
|
|
@@ -200,11 +201,9 @@ declare const constants: {
|
|
|
200
201
|
readonly distShadowNpmInjectPath: string;
|
|
201
202
|
readonly homePath: string;
|
|
202
203
|
readonly nmBinPath: string;
|
|
203
|
-
readonly nodeHardenFlags: string[];
|
|
204
204
|
readonly rootBinPath: string;
|
|
205
205
|
readonly rootDistPath: string;
|
|
206
206
|
readonly rootPath: string;
|
|
207
|
-
readonly rootPkgJsonPath: string;
|
|
208
207
|
readonly shadowBinPath: string;
|
|
209
208
|
readonly zshRcPath: string;
|
|
210
209
|
};
|
package/dist/constants.js
CHANGED
|
@@ -11,7 +11,6 @@ const {
|
|
|
11
11
|
NODE_MODULES,
|
|
12
12
|
NPM,
|
|
13
13
|
NPX,
|
|
14
|
-
PACKAGE_JSON,
|
|
15
14
|
SOCKET_SECURITY_SCOPE,
|
|
16
15
|
kInternalsSymbol,
|
|
17
16
|
[kInternalsSymbol]: {
|
|
@@ -33,6 +32,9 @@ const CVE_ALERT_PROPS_FIRST_PATCHED_VERSION_IDENTIFIER = 'firstPatchedVersionIde
|
|
|
33
32
|
const CVE_ALERT_PROPS_VULNERABLE_VERSION_RANGE = 'vulnerableVersionRange';
|
|
34
33
|
const DRY_RUN_LABEL = '[DryRun]';
|
|
35
34
|
const DRY_RUN_BAIL_TEXT = `${DRY_RUN_LABEL}: Bailing now`;
|
|
35
|
+
const INLINED_SOCKET_CLI_LEGACY_BUILD = 'INLINED_SOCKET_CLI_LEGACY_BUILD';
|
|
36
|
+
const INLINED_SOCKET_CLI_PUBLISHED_BUILD = 'INLINED_SOCKET_CLI_PUBLISHED_BUILD';
|
|
37
|
+
const INLINED_SOCKET_CLI_SENTRY_BUILD = 'INLINED_SOCKET_CLI_SENTRY_BUILD';
|
|
36
38
|
const LOCK_EXT = '.lock';
|
|
37
39
|
const MODULE_SYNC = 'module-sync';
|
|
38
40
|
const NPM_BUGGY_OVERRIDES_PATCHED_VERSION = '11.2.0';
|
|
@@ -48,26 +50,23 @@ const SOCKET_CLI_BIN_NAME_ALIAS = CLI;
|
|
|
48
50
|
const SOCKET_CLI_DEBUG = 'SOCKET_CLI_DEBUG';
|
|
49
51
|
const SOCKET_CLI_FIX = 'SOCKET_CLI_FIX';
|
|
50
52
|
const SOCKET_CLI_ISSUES_URL = 'https://github.com/SocketDev/socket-cli/issues';
|
|
51
|
-
const SOCKET_CLI_LEGACY_BUILD = 'SOCKET_CLI_LEGACY_BUILD';
|
|
52
53
|
const SOCKET_CLI_LEGACY_PACKAGE_NAME = `${SOCKET_SECURITY_SCOPE}/${CLI}`;
|
|
53
54
|
const SOCKET_CLI_NO_API_TOKEN = 'SOCKET_CLI_NO_API_TOKEN';
|
|
54
55
|
const SOCKET_CLI_OPTIMIZE = 'SOCKET_CLI_OPTIMIZE';
|
|
55
56
|
const SOCKET_CLI_NPM_BIN_NAME = `${SOCKET}-${NPM}`;
|
|
56
57
|
const SOCKET_CLI_NPX_BIN_NAME = `${SOCKET}-${NPX}`;
|
|
57
58
|
const SOCKET_CLI_PACKAGE_NAME = SOCKET;
|
|
58
|
-
const SOCKET_CLI_PUBLISHED_BUILD = 'SOCKET_CLI_PUBLISHED_BUILD';
|
|
59
59
|
const SOCKET_CLI_SAFE_WRAPPER = 'SOCKET_CLI_SAFE_WRAPPER';
|
|
60
60
|
const SOCKET_CLI_SENTRY_BIN_NAME = `${SOCKET_CLI_BIN_NAME}-${WITH_SENTRY}`;
|
|
61
61
|
const SOCKET_CLI_SENTRY_BIN_NAME_ALIAS = `${SOCKET_CLI_BIN_NAME_ALIAS}-${WITH_SENTRY}`;
|
|
62
|
-
const SOCKET_CLI_SENTRY_BUILD = 'SOCKET_CLI_SENTRY_BUILD';
|
|
63
62
|
const SOCKET_CLI_SENTRY_NPM_BIN_NAME = `${SOCKET_CLI_NPM_BIN_NAME}-${WITH_SENTRY}`;
|
|
64
63
|
const SOCKET_CLI_SENTRY_NPX_BIN_NAME = `${SOCKET_CLI_NPX_BIN_NAME}-${WITH_SENTRY}`;
|
|
65
64
|
const SOCKET_CLI_SENTRY_PACKAGE_NAME = `${SOCKET_CLI_LEGACY_PACKAGE_NAME}-${WITH_SENTRY}`;
|
|
66
|
-
const SOCKET_CLI_VERSION_HASH = 'SOCKET_CLI_VERSION_HASH';
|
|
67
65
|
const VLT = 'vlt';
|
|
68
66
|
const YARN = 'yarn';
|
|
69
67
|
const YARN_BERRY = `${YARN}/berry`;
|
|
70
68
|
const YARN_CLASSIC = `${YARN}/classic`;
|
|
69
|
+
const YARN_LOCK = `${YARN}${LOCK_EXT}`;
|
|
71
70
|
let _Sentry;
|
|
72
71
|
const LAZY_BATCH_PURL_ENDPOINT = () => {
|
|
73
72
|
const query = new URLSearchParams();
|
|
@@ -85,22 +84,19 @@ const LAZY_ENV = () => {
|
|
|
85
84
|
return Object.freeze({
|
|
86
85
|
// Lazily access registryConstants.ENV.
|
|
87
86
|
...registryConstants.ENV,
|
|
88
|
-
// Flag set to help debug Socket CLI.
|
|
89
|
-
[SOCKET_CLI_DEBUG]: env.envAsBoolean(env$1[SOCKET_CLI_DEBUG]),
|
|
90
87
|
// Inlined flag set to determine if this is the Legacy build.
|
|
91
|
-
// The '@rollup/plugin-replace' will replace "process.env[
|
|
92
|
-
[
|
|
93
|
-
// Flag set to make the default API token `undefined`.
|
|
94
|
-
[SOCKET_CLI_NO_API_TOKEN]: env.envAsBoolean(env$1[SOCKET_CLI_NO_API_TOKEN]),
|
|
88
|
+
// The '@rollup/plugin-replace' will replace "process.env[INLINED_SOCKET_CLI_LEGACY_BUILD]".
|
|
89
|
+
[INLINED_SOCKET_CLI_LEGACY_BUILD]: false,
|
|
95
90
|
// Inlined flag set to determine if this is a published build.
|
|
96
|
-
// The '@rollup/plugin-replace' will replace "process.env[
|
|
97
|
-
[
|
|
91
|
+
// The '@rollup/plugin-replace' will replace "process.env[INLINED_SOCKET_CLI_PUBLISHED_BUILD]".
|
|
92
|
+
[INLINED_SOCKET_CLI_PUBLISHED_BUILD]: true,
|
|
98
93
|
// Inlined flag set to determine if this is the Sentry build.
|
|
99
|
-
// The '@rollup/plugin-replace' will replace "process.env[
|
|
100
|
-
[
|
|
101
|
-
//
|
|
102
|
-
|
|
103
|
-
|
|
94
|
+
// The '@rollup/plugin-replace' will replace "process.env[INLINED_SOCKET_CLI_SENTRY_BUILD]".
|
|
95
|
+
[INLINED_SOCKET_CLI_SENTRY_BUILD]: false,
|
|
96
|
+
// Flag set to help debug Socket CLI.
|
|
97
|
+
[SOCKET_CLI_DEBUG]: env.envAsBoolean(env$1[SOCKET_CLI_DEBUG]),
|
|
98
|
+
// Flag set to make the default API token `undefined`.
|
|
99
|
+
[SOCKET_CLI_NO_API_TOKEN]: env.envAsBoolean(env$1[SOCKET_CLI_NO_API_TOKEN])
|
|
104
100
|
});
|
|
105
101
|
};
|
|
106
102
|
const lazyBashRcPath = () =>
|
|
@@ -125,6 +121,20 @@ const lazyHomePath = () => os.homedir();
|
|
|
125
121
|
const lazyNmBinPath = () =>
|
|
126
122
|
// Lazily access constants.rootPath.
|
|
127
123
|
path.join(constants.rootPath, `${NODE_MODULES}/.bin`);
|
|
124
|
+
|
|
125
|
+
// Redefine nodeHardenFlags to account for the INLINED_SOCKET_CLI_SENTRY_BUILD
|
|
126
|
+
// environment variable.
|
|
127
|
+
const lazyNodeHardenFlags = () =>
|
|
128
|
+
// The '@rollup/plugin-replace' will replace "process.env[INLINED_SOCKET_CLI_SENTRY_BUILD]".
|
|
129
|
+
// Lazily access constants.WIN32.
|
|
130
|
+
constants.WIN32 ? [] :
|
|
131
|
+
// Harden Node security.
|
|
132
|
+
// https://nodejs.org/en/learn/getting-started/security-best-practices
|
|
133
|
+
// We have contributed the following patches to our dependencies to make
|
|
134
|
+
// Node's --frozen-intrinsics workable.
|
|
135
|
+
// √ https://github.com/SBoudrias/Inquirer.js/pull/1683
|
|
136
|
+
// √ https://github.com/pnpm/components/pull/23
|
|
137
|
+
['--disable-proto', 'delete', '--frozen-intrinsics', '--no-deprecation'];
|
|
128
138
|
const lazyRootBinPath = () =>
|
|
129
139
|
// Lazily access constants.rootPath.
|
|
130
140
|
path.join(constants.rootPath, 'bin');
|
|
@@ -132,28 +142,14 @@ const lazyRootDistPath = () =>
|
|
|
132
142
|
// Lazily access constants.rootPath.
|
|
133
143
|
path.join(constants.rootPath, 'dist');
|
|
134
144
|
const lazyRootPath = () =>
|
|
135
|
-
// The '@rollup/plugin-replace' will replace "process.env
|
|
136
|
-
// it will be dead code eliminated by Rollup.
|
|
145
|
+
// The '@rollup/plugin-replace' will replace "process.env['INLINED_SOCKET_CLI_TEST_DIST_BUILD']".
|
|
137
146
|
path.join(fs.realpathSync.native(__dirname), '..');
|
|
138
|
-
const lazyRootPkgJsonPath = () =>
|
|
139
|
-
// Lazily access constants.rootPath.
|
|
140
|
-
path.join(constants.rootPath, PACKAGE_JSON);
|
|
141
147
|
const lazyShadowBinPath = () =>
|
|
142
148
|
// Lazily access constants.rootPath.
|
|
143
149
|
path.join(constants.rootPath, SHADOW_NPM_BIN);
|
|
144
150
|
const lazyZshRcPath = () =>
|
|
145
151
|
// Lazily access constants.homePath.
|
|
146
152
|
path.join(constants.homePath, '.zshrc');
|
|
147
|
-
|
|
148
|
-
// Harden Node security.
|
|
149
|
-
// https://nodejs.org/en/learn/getting-started/security-best-practices
|
|
150
|
-
const nodeHardenFlags =
|
|
151
|
-
// The '@rollup/plugin-replace' will replace "process.env[SOCKET_CLI_SENTRY_BUILD]".
|
|
152
|
-
['--disable-proto', 'delete',
|
|
153
|
-
// TODO: We can try --frozen-intrinsics once
|
|
154
|
-
// https://github.com/SBoudrias/Inquirer.js/pull/1683 is addressed.
|
|
155
|
-
// '--frozen-intrinsics',
|
|
156
|
-
'--no-deprecation'];
|
|
157
153
|
const constants = createConstantsObject({
|
|
158
154
|
ALERT_TYPE_CRITICAL_CVE,
|
|
159
155
|
ALERT_TYPE_CVE,
|
|
@@ -172,6 +168,9 @@ const constants = createConstantsObject({
|
|
|
172
168
|
DRY_RUN_LABEL,
|
|
173
169
|
DRY_RUN_BAIL_TEXT,
|
|
174
170
|
ENV: undefined,
|
|
171
|
+
INLINED_SOCKET_CLI_LEGACY_BUILD,
|
|
172
|
+
INLINED_SOCKET_CLI_PUBLISHED_BUILD,
|
|
173
|
+
INLINED_SOCKET_CLI_SENTRY_BUILD,
|
|
175
174
|
LOCK_EXT,
|
|
176
175
|
MODULE_SYNC,
|
|
177
176
|
NPM_BUGGY_OVERRIDES_PATCHED_VERSION,
|
|
@@ -189,24 +188,21 @@ const constants = createConstantsObject({
|
|
|
189
188
|
SOCKET_CLI_FIX,
|
|
190
189
|
SOCKET_CLI_ISSUES_URL,
|
|
191
190
|
SOCKET_CLI_SENTRY_BIN_NAME_ALIAS,
|
|
192
|
-
SOCKET_CLI_LEGACY_BUILD,
|
|
193
191
|
SOCKET_CLI_LEGACY_PACKAGE_NAME,
|
|
194
192
|
SOCKET_CLI_NO_API_TOKEN,
|
|
195
193
|
SOCKET_CLI_OPTIMIZE,
|
|
196
194
|
SOCKET_CLI_PACKAGE_NAME,
|
|
197
|
-
SOCKET_CLI_PUBLISHED_BUILD,
|
|
198
195
|
SOCKET_CLI_SAFE_WRAPPER,
|
|
199
196
|
SOCKET_CLI_SENTRY_BIN_NAME,
|
|
200
|
-
SOCKET_CLI_SENTRY_BUILD,
|
|
201
197
|
SOCKET_CLI_SENTRY_NPM_BIN_NAME,
|
|
202
198
|
SOCKET_CLI_SENTRY_NPX_BIN_NAME,
|
|
203
199
|
SOCKET_CLI_SENTRY_PACKAGE_NAME,
|
|
204
|
-
SOCKET_CLI_VERSION_HASH,
|
|
205
200
|
VLT,
|
|
206
201
|
WITH_SENTRY,
|
|
207
202
|
YARN,
|
|
208
203
|
YARN_BERRY,
|
|
209
204
|
YARN_CLASSIC,
|
|
205
|
+
YARN_LOCK,
|
|
210
206
|
bashRcPath: undefined,
|
|
211
207
|
distCliPath: undefined,
|
|
212
208
|
distInstrumentWithSentryPath: undefined,
|
|
@@ -215,11 +211,10 @@ const constants = createConstantsObject({
|
|
|
215
211
|
distShadowNpmInjectPath: undefined,
|
|
216
212
|
homePath: undefined,
|
|
217
213
|
nmBinPath: undefined,
|
|
218
|
-
nodeHardenFlags,
|
|
214
|
+
nodeHardenFlags: undefined,
|
|
219
215
|
rootBinPath: undefined,
|
|
220
216
|
rootDistPath: undefined,
|
|
221
217
|
rootPath: undefined,
|
|
222
|
-
rootPkgJsonPath: undefined,
|
|
223
218
|
shadowBinPath: undefined,
|
|
224
219
|
zshRcPath: undefined
|
|
225
220
|
}, {
|
|
@@ -235,10 +230,10 @@ const constants = createConstantsObject({
|
|
|
235
230
|
distShadowNpmInjectPath: lazyDistShadowNpmInjectPath,
|
|
236
231
|
homePath: lazyHomePath,
|
|
237
232
|
nmBinPath: lazyNmBinPath,
|
|
233
|
+
nodeHardenFlags: lazyNodeHardenFlags,
|
|
238
234
|
rootBinPath: lazyRootBinPath,
|
|
239
235
|
rootDistPath: lazyRootDistPath,
|
|
240
236
|
rootPath: lazyRootPath,
|
|
241
|
-
rootPkgJsonPath: lazyRootPkgJsonPath,
|
|
242
237
|
shadowBinPath: lazyShadowBinPath,
|
|
243
238
|
zshRcPath: lazyZshRcPath
|
|
244
239
|
},
|
|
@@ -258,5 +253,5 @@ const constants = createConstantsObject({
|
|
|
258
253
|
});
|
|
259
254
|
|
|
260
255
|
module.exports = constants;
|
|
261
|
-
//# debugId=
|
|
256
|
+
//# debugId=16968434-d3ec-4acd-901f-58f39010dc80
|
|
262
257
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../src/constants.ts"],"sourcesContent":["import { realpathSync } from 'node:fs'\nimport os from 'node:os'\nimport path from 'node:path'\nimport process from 'node:process'\n\nimport registryConstants from '@socketsecurity/registry/lib/constants'\nimport { envAsBoolean } from '@socketsecurity/registry/lib/env'\n\nimport type { Remap } from '@socketsecurity/registry/lib/objects'\n\nconst {\n NODE_MODULES,\n NPM,\n NPX,\n PACKAGE_JSON,\n SOCKET_SECURITY_SCOPE,\n kInternalsSymbol,\n [kInternalsSymbol as unknown as 'Symbol(kInternalsSymbol)']: {\n createConstantsObject\n }\n} = registryConstants\n\ntype RegistryEnv = typeof registryConstants.ENV\n\ntype RegistryInternals = (typeof registryConstants)['Symbol(kInternalsSymbol)']\n\ntype Sentry = any\n\ntype Internals = Remap<\n Omit<RegistryInternals, 'getIPC'> &\n Readonly<{\n getIPC: {\n (): Promise<IPC>\n <K extends keyof IPC | undefined>(\n key?: K | undefined\n ): Promise<K extends keyof IPC ? IPC[K] : IPC>\n }\n getSentry: () => Sentry\n setSentry(Sentry: Sentry): boolean\n }>\n>\n\ntype ENV = Remap<\n RegistryEnv &\n Readonly<{\n SOCKET_CLI_DEBUG: boolean\n SOCKET_CLI_LEGACY_BUILD: boolean\n SOCKET_CLI_NO_API_TOKEN: boolean\n SOCKET_CLI_PUBLISHED_BUILD: boolean\n SOCKET_CLI_SENTRY_BUILD: boolean\n SOCKET_CLI_VERSION_HASH: string\n }>\n>\n\ntype IPC = Readonly<{\n SOCKET_CLI_FIX?: string | undefined\n SOCKET_CLI_OPTIMIZE?: boolean | undefined\n SOCKET_CLI_SAFE_WRAPPER?: number | undefined\n}>\n\ntype Constants = Remap<\n Omit<typeof registryConstants, 'Symbol(kInternalsSymbol)' | 'ENV' | 'IPC'> & {\n readonly 'Symbol(kInternalsSymbol)': Internals\n readonly ALERT_TYPE_CRITICAL_CVE: 'criticalCVE'\n readonly ALERT_TYPE_CVE: 'cve'\n readonly ALERT_TYPE_MEDIUM_CVE: 'mediumCVE'\n readonly ALERT_TYPE_MILD_CVE: 'mildCVE'\n readonly ALERT_TYPE_SOCKET_UPGRADE_AVAILABLE: 'socketUpgradeAvailable'\n readonly API_V0_URL: 'https://api.socket.dev/v0'\n readonly BATCH_PURL_ENDPOINT: 'https://api.socket.dev/v0/purl?alerts=true&compact=true'\n readonly BINARY_LOCK_EXT: '.lockb'\n readonly BUN: 'bun'\n readonly CLI: 'cli'\n readonly CVE_ALERT_PROPS_FIRST_PATCHED_VERSION_IDENTIFIER: 'firstPatchedVersionIdentifier'\n readonly CVE_ALERT_PROPS_VULNERABLE_VERSION_RANGE: 'vulnerableVersionRange'\n readonly ENV: ENV\n readonly DIST_TYPE: 'module-sync' | 'require'\n readonly DRY_RUN_LABEL: '[DryRun]'\n readonly DRY_RUN_BAIL_TEXT: '[DryRun] Bailing now'\n readonly IPC: IPC\n readonly LOCK_EXT: '.lock'\n readonly MODULE_SYNC: 'module-sync'\n readonly NPM_BUGGY_OVERRIDES_PATCHED_VERSION: '11.2.0'\n readonly NPM_REGISTRY_URL: 'https://registry.npmjs.org'\n readonly PNPM: 'pnpm'\n readonly REDACTED: '<redacted>'\n readonly REQUIRE: 'require'\n readonly SHADOW_NPM_BIN: 'shadow-bin'\n readonly SHADOW_NPM_INJECT: 'shadow-npm-inject'\n readonly SHADOW_NPM_PATHS: 'shadow-npm-paths'\n readonly SOCKET: 'socket'\n readonly SOCKET_CLI_BIN_NAME: 'socket'\n readonly SOCKET_CLI_BIN_NAME_ALIAS: 'cli'\n readonly SOCKET_CLI_DEBUG: 'SOCKET_CLI_DEBUG'\n readonly SOCKET_CLI_FIX: 'SOCKET_CLI_FIX'\n readonly SOCKET_CLI_ISSUES_URL: 'https://github.com/SocketDev/socket-cli/issues'\n readonly SOCKET_CLI_SENTRY_BIN_NAME_ALIAS: 'cli-with-sentry'\n readonly SOCKET_CLI_LEGACY_BUILD: 'SOCKET_CLI_LEGACY_BUILD'\n readonly SOCKET_CLI_LEGACY_PACKAGE_NAME: '@socketsecurity/cli'\n readonly SOCKET_CLI_NO_API_TOKEN: 'SOCKET_CLI_NO_API_TOKEN'\n readonly SOCKET_CLI_NPM_BIN_NAME: 'socket-npm'\n readonly SOCKET_CLI_NPX_BIN_NAME: 'socket-npx'\n readonly SOCKET_CLI_OPTIMIZE: 'SOCKET_CLI_OPTIMIZE'\n readonly SOCKET_CLI_PACKAGE_NAME: 'socket'\n readonly SOCKET_CLI_PUBLISHED_BUILD: 'SOCKET_CLI_PUBLISHED_BUILD'\n readonly SOCKET_CLI_SAFE_WRAPPER: 'SOCKET_CLI_SAFE_WRAPPER'\n readonly SOCKET_CLI_SENTRY_BIN_NAME: 'socket-with-sentry'\n readonly SOCKET_CLI_SENTRY_BUILD: 'SOCKET_CLI_SENTRY_BUILD'\n readonly SOCKET_CLI_SENTRY_NPM_BIN_NAME: 'socket-npm-with-sentry'\n readonly SOCKET_CLI_SENTRY_NPX_BIN_NAME: 'socket-npx-with-sentry'\n readonly SOCKET_CLI_SENTRY_PACKAGE_NAME: '@socketsecurity/cli-with-sentry'\n readonly SOCKET_CLI_VERSION_HASH: 'SOCKET_CLI_VERSION_HASH'\n readonly VLT: 'vlt'\n readonly WITH_SENTRY: 'with-sentry'\n readonly YARN: 'yarn'\n readonly YARN_BERRY: 'yarn/berry'\n readonly YARN_CLASSIC: 'yarn/classic'\n readonly bashRcPath: string\n readonly distCliPath: string\n readonly distInstrumentWithSentryPath: string\n readonly distPath: string\n readonly distShadowNpmBinPath: string\n readonly distShadowNpmInjectPath: string\n readonly homePath: string\n readonly nmBinPath: string\n readonly nodeHardenFlags: string[]\n readonly rootBinPath: string\n readonly rootDistPath: string\n readonly rootPath: string\n readonly rootPkgJsonPath: string\n readonly shadowBinPath: string\n readonly zshRcPath: string\n }\n>\n\nconst SOCKET = 'socket'\nconst WITH_SENTRY = 'with-sentry'\n\nconst ALERT_TYPE_CRITICAL_CVE = 'criticalCVE'\nconst ALERT_TYPE_CVE = 'cve'\nconst ALERT_TYPE_MEDIUM_CVE = 'mediumCVE'\nconst ALERT_TYPE_MILD_CVE = 'mildCVE'\nconst ALERT_TYPE_SOCKET_UPGRADE_AVAILABLE = 'socketUpgradeAvailable'\nconst API_V0_URL = 'https://api.socket.dev/v0'\nconst BINARY_LOCK_EXT = '.lockb'\nconst BUN = 'bun'\nconst CLI = 'cli'\nconst CVE_ALERT_PROPS_FIRST_PATCHED_VERSION_IDENTIFIER =\n 'firstPatchedVersionIdentifier'\nconst CVE_ALERT_PROPS_VULNERABLE_VERSION_RANGE = 'vulnerableVersionRange'\nconst DRY_RUN_LABEL = '[DryRun]'\nconst DRY_RUN_BAIL_TEXT = `${DRY_RUN_LABEL}: Bailing now`\nconst LOCK_EXT = '.lock'\nconst MODULE_SYNC = 'module-sync'\nconst NPM_BUGGY_OVERRIDES_PATCHED_VERSION = '11.2.0'\nconst NPM_REGISTRY_URL = 'https://registry.npmjs.org'\nconst PNPM = 'pnpm'\nconst REDACTED = '<redacted>'\nconst REQUIRE = 'require'\nconst SHADOW_NPM_BIN = 'shadow-bin'\nconst SHADOW_NPM_INJECT = 'shadow-npm-inject'\nconst SHADOW_NPM_PATHS = 'shadow-npm-paths'\nconst SOCKET_CLI_BIN_NAME = SOCKET\nconst SOCKET_CLI_BIN_NAME_ALIAS = CLI\nconst SOCKET_CLI_DEBUG = 'SOCKET_CLI_DEBUG'\nconst SOCKET_CLI_FIX = 'SOCKET_CLI_FIX'\nconst SOCKET_CLI_ISSUES_URL = 'https://github.com/SocketDev/socket-cli/issues'\nconst SOCKET_CLI_LEGACY_BUILD = 'SOCKET_CLI_LEGACY_BUILD'\nconst SOCKET_CLI_LEGACY_PACKAGE_NAME = `${SOCKET_SECURITY_SCOPE}/${CLI}`\nconst SOCKET_CLI_NO_API_TOKEN = 'SOCKET_CLI_NO_API_TOKEN'\nconst SOCKET_CLI_OPTIMIZE = 'SOCKET_CLI_OPTIMIZE'\nconst SOCKET_CLI_NPM_BIN_NAME = `${SOCKET}-${NPM}`\nconst SOCKET_CLI_NPX_BIN_NAME = `${SOCKET}-${NPX}`\nconst SOCKET_CLI_PACKAGE_NAME = SOCKET\nconst SOCKET_CLI_PUBLISHED_BUILD = 'SOCKET_CLI_PUBLISHED_BUILD'\nconst SOCKET_CLI_SAFE_WRAPPER = 'SOCKET_CLI_SAFE_WRAPPER'\nconst SOCKET_CLI_SENTRY_BIN_NAME = `${SOCKET_CLI_BIN_NAME}-${WITH_SENTRY}`\nconst SOCKET_CLI_SENTRY_BIN_NAME_ALIAS = `${SOCKET_CLI_BIN_NAME_ALIAS}-${WITH_SENTRY}`\nconst SOCKET_CLI_SENTRY_BUILD = 'SOCKET_CLI_SENTRY_BUILD'\nconst SOCKET_CLI_SENTRY_NPM_BIN_NAME = `${SOCKET_CLI_NPM_BIN_NAME}-${WITH_SENTRY}`\nconst SOCKET_CLI_SENTRY_NPX_BIN_NAME = `${SOCKET_CLI_NPX_BIN_NAME}-${WITH_SENTRY}`\nconst SOCKET_CLI_SENTRY_PACKAGE_NAME = `${SOCKET_CLI_LEGACY_PACKAGE_NAME}-${WITH_SENTRY}`\nconst SOCKET_CLI_VERSION_HASH = 'SOCKET_CLI_VERSION_HASH'\nconst VLT = 'vlt'\nconst YARN = 'yarn'\nconst YARN_BERRY = `${YARN}/berry`\nconst YARN_CLASSIC = `${YARN}/classic`\n\nlet _Sentry: any\n\nconst LAZY_BATCH_PURL_ENDPOINT = () => {\n const query = new URLSearchParams()\n query.append('alerts', 'true')\n query.append('compact', 'true')\n return `${API_V0_URL}/purl?${query}`\n}\n\nconst LAZY_DIST_TYPE = () =>\n registryConstants.SUPPORTS_NODE_REQUIRE_MODULE ? MODULE_SYNC : REQUIRE\n\nconst LAZY_ENV = () => {\n const { env } = process\n // We inline some environment values so that they CANNOT be influenced by user\n // provided environment variables.\n return Object.freeze({\n // Lazily access registryConstants.ENV.\n ...registryConstants.ENV,\n // Flag set to help debug Socket CLI.\n [SOCKET_CLI_DEBUG]: envAsBoolean(env[SOCKET_CLI_DEBUG]),\n // Inlined flag set to determine if this is the Legacy build.\n // The '@rollup/plugin-replace' will replace \"process.env[SOCKET_CLI_LEGACY_BUILD]\".\n [SOCKET_CLI_LEGACY_BUILD]: process.env[SOCKET_CLI_LEGACY_BUILD],\n // Flag set to make the default API token `undefined`.\n [SOCKET_CLI_NO_API_TOKEN]: envAsBoolean(env[SOCKET_CLI_NO_API_TOKEN]),\n // Inlined flag set to determine if this is a published build.\n // The '@rollup/plugin-replace' will replace \"process.env[SOCKET_CLI_PUBLISHED_BUILD]\".\n [SOCKET_CLI_PUBLISHED_BUILD]: process.env[SOCKET_CLI_PUBLISHED_BUILD],\n // Inlined flag set to determine if this is the Sentry build.\n // The '@rollup/plugin-replace' will replace \"process.env[SOCKET_CLI_SENTRY_BUILD]\".\n [SOCKET_CLI_SENTRY_BUILD]: process.env[SOCKET_CLI_SENTRY_BUILD],\n // Inlined flag set to determine the version hash of the build.\n // The '@rollup/plugin-replace' will replace \"process.env[SOCKET_CLI_VERSION_HASH]\".\n [SOCKET_CLI_VERSION_HASH]: process.env[SOCKET_CLI_VERSION_HASH]\n })\n}\n\nconst lazyBashRcPath = () =>\n // Lazily access constants.homePath.\n path.join(constants.homePath, '.bashrc')\n\nconst lazyDistCliPath = () =>\n // Lazily access constants.distPath.\n path.join(constants.distPath, 'cli.js')\n\nconst lazyDistInstrumentWithSentryPath = () =>\n // Lazily access constants.rootDistPath.\n path.join(constants.rootDistPath, 'instrument-with-sentry.js')\n\nconst lazyDistPath = () =>\n // Lazily access constants.rootDistPath and constants.DIST_TYPE.\n path.join(constants.rootDistPath, constants.DIST_TYPE)\n\nconst lazyDistShadowNpmBinPath = () =>\n // Lazily access constants.distPath.\n path.join(constants.distPath, `${SHADOW_NPM_BIN}.js`)\n\nconst lazyDistShadowNpmInjectPath = () =>\n // Lazily access constants.distPath.\n path.join(constants.distPath, `${SHADOW_NPM_INJECT}.js`)\n\nconst lazyHomePath = () => os.homedir()\n\nconst lazyNmBinPath = () =>\n // Lazily access constants.rootPath.\n path.join(constants.rootPath, `${NODE_MODULES}/.bin`)\n\nconst lazyRootBinPath = () =>\n // Lazily access constants.rootPath.\n path.join(constants.rootPath, 'bin')\n\nconst lazyRootDistPath = () =>\n // Lazily access constants.rootPath.\n path.join(constants.rootPath, 'dist')\n\nconst lazyRootPath = () =>\n // The '@rollup/plugin-replace' will replace \"process.env.['VITEST']\" with `false` and\n // it will be dead code eliminated by Rollup.\n path.join(\n realpathSync.native(__dirname),\n process.env['SOCKET_CLI_TEST_DIST_BUILD'] ? '../..' : '..'\n )\n\nconst lazyRootPkgJsonPath = () =>\n // Lazily access constants.rootPath.\n path.join(constants.rootPath, PACKAGE_JSON)\n\nconst lazyShadowBinPath = () =>\n // Lazily access constants.rootPath.\n path.join(constants.rootPath, SHADOW_NPM_BIN)\n\nconst lazyZshRcPath = () =>\n // Lazily access constants.homePath.\n path.join(constants.homePath, '.zshrc')\n\n// Harden Node security.\n// https://nodejs.org/en/learn/getting-started/security-best-practices\nconst nodeHardenFlags: string[] =\n // The '@rollup/plugin-replace' will replace \"process.env[SOCKET_CLI_SENTRY_BUILD]\".\n process.env[SOCKET_CLI_SENTRY_BUILD]\n ? []\n : [\n '--disable-proto',\n 'delete',\n // TODO: We can try --frozen-intrinsics once\n // https://github.com/SBoudrias/Inquirer.js/pull/1683 is addressed.\n // '--frozen-intrinsics',\n '--no-deprecation'\n ]\n\nconst constants = createConstantsObject(\n {\n ALERT_TYPE_CRITICAL_CVE,\n ALERT_TYPE_CVE,\n ALERT_TYPE_MEDIUM_CVE,\n ALERT_TYPE_MILD_CVE,\n ALERT_TYPE_SOCKET_UPGRADE_AVAILABLE,\n API_V0_URL,\n // Lazily defined values are initialized as `undefined` to keep their key order.\n BATCH_PURL_ENDPOINT: undefined,\n BINARY_LOCK_EXT,\n BUN,\n CLI,\n CVE_ALERT_PROPS_FIRST_PATCHED_VERSION_IDENTIFIER,\n CVE_ALERT_PROPS_VULNERABLE_VERSION_RANGE,\n DIST_TYPE: undefined,\n DRY_RUN_LABEL,\n DRY_RUN_BAIL_TEXT,\n ENV: undefined,\n LOCK_EXT,\n MODULE_SYNC,\n NPM_BUGGY_OVERRIDES_PATCHED_VERSION,\n NPM_REGISTRY_URL,\n PNPM,\n REDACTED,\n REQUIRE,\n SHADOW_NPM_BIN,\n SHADOW_NPM_INJECT,\n SHADOW_NPM_PATHS,\n SOCKET,\n SOCKET_CLI_BIN_NAME,\n SOCKET_CLI_BIN_NAME_ALIAS,\n SOCKET_CLI_DEBUG,\n SOCKET_CLI_FIX,\n SOCKET_CLI_ISSUES_URL,\n SOCKET_CLI_SENTRY_BIN_NAME_ALIAS,\n SOCKET_CLI_LEGACY_BUILD,\n SOCKET_CLI_LEGACY_PACKAGE_NAME,\n SOCKET_CLI_NO_API_TOKEN,\n SOCKET_CLI_OPTIMIZE,\n SOCKET_CLI_PACKAGE_NAME,\n SOCKET_CLI_PUBLISHED_BUILD,\n SOCKET_CLI_SAFE_WRAPPER,\n SOCKET_CLI_SENTRY_BIN_NAME,\n SOCKET_CLI_SENTRY_BUILD,\n SOCKET_CLI_SENTRY_NPM_BIN_NAME,\n SOCKET_CLI_SENTRY_NPX_BIN_NAME,\n SOCKET_CLI_SENTRY_PACKAGE_NAME,\n SOCKET_CLI_VERSION_HASH,\n VLT,\n WITH_SENTRY,\n YARN,\n YARN_BERRY,\n YARN_CLASSIC,\n bashRcPath: undefined,\n distCliPath: undefined,\n distInstrumentWithSentryPath: undefined,\n distPath: undefined,\n distShadowNpmBinPath: undefined,\n distShadowNpmInjectPath: undefined,\n homePath: undefined,\n nmBinPath: undefined,\n nodeHardenFlags,\n rootBinPath: undefined,\n rootDistPath: undefined,\n rootPath: undefined,\n rootPkgJsonPath: undefined,\n shadowBinPath: undefined,\n zshRcPath: undefined\n },\n {\n getters: {\n BATCH_PURL_ENDPOINT: LAZY_BATCH_PURL_ENDPOINT,\n DIST_TYPE: LAZY_DIST_TYPE,\n ENV: LAZY_ENV,\n bashRcPath: lazyBashRcPath,\n distCliPath: lazyDistCliPath,\n distInstrumentWithSentryPath: lazyDistInstrumentWithSentryPath,\n distPath: lazyDistPath,\n distShadowNpmBinPath: lazyDistShadowNpmBinPath,\n distShadowNpmInjectPath: lazyDistShadowNpmInjectPath,\n homePath: lazyHomePath,\n nmBinPath: lazyNmBinPath,\n rootBinPath: lazyRootBinPath,\n rootDistPath: lazyRootDistPath,\n rootPath: lazyRootPath,\n rootPkgJsonPath: lazyRootPkgJsonPath,\n shadowBinPath: lazyShadowBinPath,\n zshRcPath: lazyZshRcPath\n },\n internals: {\n getSentry() {\n return _Sentry\n },\n setSentry(Sentry: Sentry): boolean {\n if (_Sentry === undefined) {\n _Sentry = Sentry\n return true\n }\n return false\n }\n },\n mixin: registryConstants\n }\n) as Constants\n\nexport default constants\n"],"names":["createConstantsObject","query","env","path","constants","BATCH_PURL_ENDPOINT","DIST_TYPE","ENV","bashRcPath","distCliPath","distInstrumentWithSentryPath","distPath","distShadowNpmBinPath","distShadowNpmInjectPath","homePath","nmBinPath","rootBinPath","rootDistPath","rootPath","rootPkgJsonPath","shadowBinPath","zshRcPath","getters","internals","getSentry","_Sentry","mixin"],"mappings":";;;;;;;;;AAUA;;;;;;;AAOE;AACEA;AACF;AACF;AAmHA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACE;AACAC;AACAA;AACA;AACF;AAEA;AAGA;;AACUC;AAAI;AACZ;AACA;;AAEE;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF;AACF;AAEA;AACE;AACAC;AAEF;AACE;AACAA;AAEF;AACE;AACAA;AAEF;AACE;AACAA;AAEF;AACE;AACAA;AAEF;AACE;AACAA;AAEF;AAEA;AACE;AACAA;AAEF;AACE;AACAA;AAEF;AACE;AACAA;AAEF;AACE;AACA;AACAA;AAKF;AACE;AACAA;AAEF;AACE;AACAA;AAEF;AACE;AACAA;;AAEF;AACA;AACA;AACE;AAGI;AAGE;AACA;AACA;AACA;AAGFC;;;;;;;AAQF;AACAC;;;;;;AAMAC;;;AAGAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;;AAEAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACF;AAEEC;AACEjB;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;;AAEFE;AACEC;AACE;;;;AAIEC;AACA;AACF;AACA;AACF;;AAEFC;AACF;;","debugId":"b4807eeb-d558-4720-a508-980c3382d674"}
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../src/constants.ts"],"sourcesContent":["import { realpathSync } from 'node:fs'\nimport os from 'node:os'\nimport path from 'node:path'\nimport process from 'node:process'\n\nimport registryConstants from '@socketsecurity/registry/lib/constants'\nimport { envAsBoolean } from '@socketsecurity/registry/lib/env'\n\nimport type { Remap } from '@socketsecurity/registry/lib/objects'\n\nconst {\n NODE_MODULES,\n NPM,\n NPX,\n SOCKET_SECURITY_SCOPE,\n kInternalsSymbol,\n [kInternalsSymbol as unknown as 'Symbol(kInternalsSymbol)']: {\n createConstantsObject\n }\n} = registryConstants\n\ntype RegistryEnv = typeof registryConstants.ENV\n\ntype RegistryInternals = (typeof registryConstants)['Symbol(kInternalsSymbol)']\n\ntype Sentry = any\n\ntype Internals = Remap<\n Omit<RegistryInternals, 'getIPC'> &\n Readonly<{\n getIPC: {\n (): Promise<IPC>\n <K extends keyof IPC | undefined>(\n key?: K | undefined\n ): Promise<K extends keyof IPC ? IPC[K] : IPC>\n }\n getSentry: () => Sentry\n setSentry(Sentry: Sentry): boolean\n }>\n>\n\ntype ENV = Remap<\n RegistryEnv &\n Readonly<{\n SOCKET_CLI_DEBUG: boolean\n SOCKET_CLI_NO_API_TOKEN: boolean\n }>\n>\n\ntype IPC = Readonly<{\n SOCKET_CLI_FIX?: string | undefined\n SOCKET_CLI_OPTIMIZE?: boolean | undefined\n SOCKET_CLI_SAFE_WRAPPER?: string | undefined\n}>\n\ntype Constants = Remap<\n Omit<typeof registryConstants, 'Symbol(kInternalsSymbol)' | 'ENV' | 'IPC'> & {\n readonly 'Symbol(kInternalsSymbol)': Internals\n readonly ALERT_TYPE_CRITICAL_CVE: 'criticalCVE'\n readonly ALERT_TYPE_CVE: 'cve'\n readonly ALERT_TYPE_MEDIUM_CVE: 'mediumCVE'\n readonly ALERT_TYPE_MILD_CVE: 'mildCVE'\n readonly ALERT_TYPE_SOCKET_UPGRADE_AVAILABLE: 'socketUpgradeAvailable'\n readonly API_V0_URL: 'https://api.socket.dev/v0'\n readonly BATCH_PURL_ENDPOINT: 'https://api.socket.dev/v0/purl?alerts=true&compact=true'\n readonly BINARY_LOCK_EXT: '.lockb'\n readonly BUN: 'bun'\n readonly CLI: 'cli'\n readonly CVE_ALERT_PROPS_FIRST_PATCHED_VERSION_IDENTIFIER: 'firstPatchedVersionIdentifier'\n readonly CVE_ALERT_PROPS_VULNERABLE_VERSION_RANGE: 'vulnerableVersionRange'\n readonly ENV: ENV\n readonly DIST_TYPE: 'module-sync' | 'require'\n readonly DRY_RUN_LABEL: '[DryRun]'\n readonly DRY_RUN_BAIL_TEXT: '[DryRun] Bailing now'\n readonly INLINED_SOCKET_CLI_LEGACY_BUILD: 'INLINED_SOCKET_CLI_LEGACY_BUILD'\n readonly INLINED_SOCKET_CLI_PUBLISHED_BUILD: 'INLINED_SOCKET_CLI_PUBLISHED_BUILD'\n readonly INLINED_SOCKET_CLI_SENTRY_BUILD: 'INLINED_SOCKET_CLI_SENTRY_BUILD'\n readonly IPC: IPC\n readonly LOCK_EXT: '.lock'\n readonly MODULE_SYNC: 'module-sync'\n readonly NPM_BUGGY_OVERRIDES_PATCHED_VERSION: '11.2.0'\n readonly NPM_REGISTRY_URL: 'https://registry.npmjs.org'\n readonly PNPM: 'pnpm'\n readonly REDACTED: '<redacted>'\n readonly REQUIRE: 'require'\n readonly SHADOW_NPM_BIN: 'shadow-bin'\n readonly SHADOW_NPM_INJECT: 'shadow-npm-inject'\n readonly SHADOW_NPM_PATHS: 'shadow-npm-paths'\n readonly SOCKET: 'socket'\n readonly SOCKET_CLI_BIN_NAME: 'socket'\n readonly SOCKET_CLI_BIN_NAME_ALIAS: 'cli'\n readonly SOCKET_CLI_DEBUG: 'SOCKET_CLI_DEBUG'\n readonly SOCKET_CLI_FIX: 'SOCKET_CLI_FIX'\n readonly SOCKET_CLI_ISSUES_URL: 'https://github.com/SocketDev/socket-cli/issues'\n readonly SOCKET_CLI_SENTRY_BIN_NAME_ALIAS: 'cli-with-sentry'\n readonly SOCKET_CLI_LEGACY_PACKAGE_NAME: '@socketsecurity/cli'\n readonly SOCKET_CLI_NO_API_TOKEN: 'SOCKET_CLI_NO_API_TOKEN'\n readonly SOCKET_CLI_NPM_BIN_NAME: 'socket-npm'\n readonly SOCKET_CLI_NPX_BIN_NAME: 'socket-npx'\n readonly SOCKET_CLI_OPTIMIZE: 'SOCKET_CLI_OPTIMIZE'\n readonly SOCKET_CLI_PACKAGE_NAME: 'socket'\n readonly SOCKET_CLI_SAFE_WRAPPER: 'SOCKET_CLI_SAFE_WRAPPER'\n readonly SOCKET_CLI_SENTRY_BIN_NAME: 'socket-with-sentry'\n readonly SOCKET_CLI_SENTRY_NPM_BIN_NAME: 'socket-npm-with-sentry'\n readonly SOCKET_CLI_SENTRY_NPX_BIN_NAME: 'socket-npx-with-sentry'\n readonly SOCKET_CLI_SENTRY_PACKAGE_NAME: '@socketsecurity/cli-with-sentry'\n readonly VLT: 'vlt'\n readonly WITH_SENTRY: 'with-sentry'\n readonly YARN: 'yarn'\n readonly YARN_BERRY: 'yarn/berry'\n readonly YARN_CLASSIC: 'yarn/classic'\n readonly YARN_LOCK: 'yarn.lock'\n readonly bashRcPath: string\n readonly distCliPath: string\n readonly distInstrumentWithSentryPath: string\n readonly distPath: string\n readonly distShadowNpmBinPath: string\n readonly distShadowNpmInjectPath: string\n readonly homePath: string\n readonly nmBinPath: string\n readonly nodeHardenFlags: string[]\n readonly rootBinPath: string\n readonly rootDistPath: string\n readonly rootPath: string\n readonly shadowBinPath: string\n readonly zshRcPath: string\n }\n>\n\nconst SOCKET = 'socket'\nconst WITH_SENTRY = 'with-sentry'\n\nconst ALERT_TYPE_CRITICAL_CVE = 'criticalCVE'\nconst ALERT_TYPE_CVE = 'cve'\nconst ALERT_TYPE_MEDIUM_CVE = 'mediumCVE'\nconst ALERT_TYPE_MILD_CVE = 'mildCVE'\nconst ALERT_TYPE_SOCKET_UPGRADE_AVAILABLE = 'socketUpgradeAvailable'\nconst API_V0_URL = 'https://api.socket.dev/v0'\nconst BINARY_LOCK_EXT = '.lockb'\nconst BUN = 'bun'\nconst CLI = 'cli'\nconst CVE_ALERT_PROPS_FIRST_PATCHED_VERSION_IDENTIFIER =\n 'firstPatchedVersionIdentifier'\nconst CVE_ALERT_PROPS_VULNERABLE_VERSION_RANGE = 'vulnerableVersionRange'\nconst DRY_RUN_LABEL = '[DryRun]'\nconst DRY_RUN_BAIL_TEXT = `${DRY_RUN_LABEL}: Bailing now`\nconst INLINED_SOCKET_CLI_LEGACY_BUILD = 'INLINED_SOCKET_CLI_LEGACY_BUILD'\nconst INLINED_SOCKET_CLI_PUBLISHED_BUILD = 'INLINED_SOCKET_CLI_PUBLISHED_BUILD'\nconst INLINED_SOCKET_CLI_SENTRY_BUILD = 'INLINED_SOCKET_CLI_SENTRY_BUILD'\nconst LOCK_EXT = '.lock'\nconst MODULE_SYNC = 'module-sync'\nconst NPM_BUGGY_OVERRIDES_PATCHED_VERSION = '11.2.0'\nconst NPM_REGISTRY_URL = 'https://registry.npmjs.org'\nconst PNPM = 'pnpm'\nconst REDACTED = '<redacted>'\nconst REQUIRE = 'require'\nconst SHADOW_NPM_BIN = 'shadow-bin'\nconst SHADOW_NPM_INJECT = 'shadow-npm-inject'\nconst SHADOW_NPM_PATHS = 'shadow-npm-paths'\nconst SOCKET_CLI_BIN_NAME = SOCKET\nconst SOCKET_CLI_BIN_NAME_ALIAS = CLI\nconst SOCKET_CLI_DEBUG = 'SOCKET_CLI_DEBUG'\nconst SOCKET_CLI_FIX = 'SOCKET_CLI_FIX'\nconst SOCKET_CLI_ISSUES_URL = 'https://github.com/SocketDev/socket-cli/issues'\nconst SOCKET_CLI_LEGACY_PACKAGE_NAME = `${SOCKET_SECURITY_SCOPE}/${CLI}`\nconst SOCKET_CLI_NO_API_TOKEN = 'SOCKET_CLI_NO_API_TOKEN'\nconst SOCKET_CLI_OPTIMIZE = 'SOCKET_CLI_OPTIMIZE'\nconst SOCKET_CLI_NPM_BIN_NAME = `${SOCKET}-${NPM}`\nconst SOCKET_CLI_NPX_BIN_NAME = `${SOCKET}-${NPX}`\nconst SOCKET_CLI_PACKAGE_NAME = SOCKET\nconst SOCKET_CLI_SAFE_WRAPPER = 'SOCKET_CLI_SAFE_WRAPPER'\nconst SOCKET_CLI_SENTRY_BIN_NAME = `${SOCKET_CLI_BIN_NAME}-${WITH_SENTRY}`\nconst SOCKET_CLI_SENTRY_BIN_NAME_ALIAS = `${SOCKET_CLI_BIN_NAME_ALIAS}-${WITH_SENTRY}`\nconst SOCKET_CLI_SENTRY_NPM_BIN_NAME = `${SOCKET_CLI_NPM_BIN_NAME}-${WITH_SENTRY}`\nconst SOCKET_CLI_SENTRY_NPX_BIN_NAME = `${SOCKET_CLI_NPX_BIN_NAME}-${WITH_SENTRY}`\nconst SOCKET_CLI_SENTRY_PACKAGE_NAME = `${SOCKET_CLI_LEGACY_PACKAGE_NAME}-${WITH_SENTRY}`\nconst VLT = 'vlt'\nconst YARN = 'yarn'\nconst YARN_BERRY = `${YARN}/berry`\nconst YARN_CLASSIC = `${YARN}/classic`\nconst YARN_LOCK = `${YARN}${LOCK_EXT}`\n\nlet _Sentry: any\n\nconst LAZY_BATCH_PURL_ENDPOINT = () => {\n const query = new URLSearchParams()\n query.append('alerts', 'true')\n query.append('compact', 'true')\n return `${API_V0_URL}/purl?${query}`\n}\n\nconst LAZY_DIST_TYPE = () =>\n registryConstants.SUPPORTS_NODE_REQUIRE_MODULE ? MODULE_SYNC : REQUIRE\n\nconst LAZY_ENV = () => {\n const { env } = process\n // We inline some environment values so that they CANNOT be influenced by user\n // provided environment variables.\n return Object.freeze({\n // Lazily access registryConstants.ENV.\n ...registryConstants.ENV,\n // Inlined flag set to determine if this is the Legacy build.\n // The '@rollup/plugin-replace' will replace \"process.env[INLINED_SOCKET_CLI_LEGACY_BUILD]\".\n [INLINED_SOCKET_CLI_LEGACY_BUILD]:\n process.env[INLINED_SOCKET_CLI_LEGACY_BUILD],\n // Inlined flag set to determine if this is a published build.\n // The '@rollup/plugin-replace' will replace \"process.env[INLINED_SOCKET_CLI_PUBLISHED_BUILD]\".\n [INLINED_SOCKET_CLI_PUBLISHED_BUILD]:\n process.env[INLINED_SOCKET_CLI_PUBLISHED_BUILD],\n // Inlined flag set to determine if this is the Sentry build.\n // The '@rollup/plugin-replace' will replace \"process.env[INLINED_SOCKET_CLI_SENTRY_BUILD]\".\n [INLINED_SOCKET_CLI_SENTRY_BUILD]:\n process.env[INLINED_SOCKET_CLI_SENTRY_BUILD],\n // Flag set to help debug Socket CLI.\n [SOCKET_CLI_DEBUG]: envAsBoolean(env[SOCKET_CLI_DEBUG]),\n // Flag set to make the default API token `undefined`.\n [SOCKET_CLI_NO_API_TOKEN]: envAsBoolean(env[SOCKET_CLI_NO_API_TOKEN])\n })\n}\n\nconst lazyBashRcPath = () =>\n // Lazily access constants.homePath.\n path.join(constants.homePath, '.bashrc')\n\nconst lazyDistCliPath = () =>\n // Lazily access constants.distPath.\n path.join(constants.distPath, 'cli.js')\n\nconst lazyDistInstrumentWithSentryPath = () =>\n // Lazily access constants.rootDistPath.\n path.join(constants.rootDistPath, 'instrument-with-sentry.js')\n\nconst lazyDistPath = () =>\n // Lazily access constants.rootDistPath and constants.DIST_TYPE.\n path.join(constants.rootDistPath, constants.DIST_TYPE)\n\nconst lazyDistShadowNpmBinPath = () =>\n // Lazily access constants.distPath.\n path.join(constants.distPath, `${SHADOW_NPM_BIN}.js`)\n\nconst lazyDistShadowNpmInjectPath = () =>\n // Lazily access constants.distPath.\n path.join(constants.distPath, `${SHADOW_NPM_INJECT}.js`)\n\nconst lazyHomePath = () => os.homedir()\n\nconst lazyNmBinPath = () =>\n // Lazily access constants.rootPath.\n path.join(constants.rootPath, `${NODE_MODULES}/.bin`)\n\n// Redefine nodeHardenFlags to account for the INLINED_SOCKET_CLI_SENTRY_BUILD\n// environment variable.\nconst lazyNodeHardenFlags = () =>\n // The '@rollup/plugin-replace' will replace \"process.env[INLINED_SOCKET_CLI_SENTRY_BUILD]\".\n // Lazily access constants.WIN32.\n process.env[INLINED_SOCKET_CLI_SENTRY_BUILD] || constants.WIN32\n ? []\n : // Harden Node security.\n // https://nodejs.org/en/learn/getting-started/security-best-practices\n // We have contributed the following patches to our dependencies to make\n // Node's --frozen-intrinsics workable.\n // √ https://github.com/SBoudrias/Inquirer.js/pull/1683\n // √ https://github.com/pnpm/components/pull/23\n ['--disable-proto', 'delete', '--frozen-intrinsics', '--no-deprecation']\n\nconst lazyRootBinPath = () =>\n // Lazily access constants.rootPath.\n path.join(constants.rootPath, 'bin')\n\nconst lazyRootDistPath = () =>\n // Lazily access constants.rootPath.\n path.join(constants.rootPath, 'dist')\n\nconst lazyRootPath = () =>\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_TEST_DIST_BUILD']\".\n path.join(\n realpathSync.native(__dirname),\n process.env['INLINED_SOCKET_CLI_TEST_DIST_BUILD'] ? '../..' : '..'\n )\n\nconst lazyShadowBinPath = () =>\n // Lazily access constants.rootPath.\n path.join(constants.rootPath, SHADOW_NPM_BIN)\n\nconst lazyZshRcPath = () =>\n // Lazily access constants.homePath.\n path.join(constants.homePath, '.zshrc')\n\nconst constants = createConstantsObject(\n {\n ALERT_TYPE_CRITICAL_CVE,\n ALERT_TYPE_CVE,\n ALERT_TYPE_MEDIUM_CVE,\n ALERT_TYPE_MILD_CVE,\n ALERT_TYPE_SOCKET_UPGRADE_AVAILABLE,\n API_V0_URL,\n // Lazily defined values are initialized as `undefined` to keep their key order.\n BATCH_PURL_ENDPOINT: undefined,\n BINARY_LOCK_EXT,\n BUN,\n CLI,\n CVE_ALERT_PROPS_FIRST_PATCHED_VERSION_IDENTIFIER,\n CVE_ALERT_PROPS_VULNERABLE_VERSION_RANGE,\n DIST_TYPE: undefined,\n DRY_RUN_LABEL,\n DRY_RUN_BAIL_TEXT,\n ENV: undefined,\n INLINED_SOCKET_CLI_LEGACY_BUILD,\n INLINED_SOCKET_CLI_PUBLISHED_BUILD,\n INLINED_SOCKET_CLI_SENTRY_BUILD,\n LOCK_EXT,\n MODULE_SYNC,\n NPM_BUGGY_OVERRIDES_PATCHED_VERSION,\n NPM_REGISTRY_URL,\n PNPM,\n REDACTED,\n REQUIRE,\n SHADOW_NPM_BIN,\n SHADOW_NPM_INJECT,\n SHADOW_NPM_PATHS,\n SOCKET,\n SOCKET_CLI_BIN_NAME,\n SOCKET_CLI_BIN_NAME_ALIAS,\n SOCKET_CLI_DEBUG,\n SOCKET_CLI_FIX,\n SOCKET_CLI_ISSUES_URL,\n SOCKET_CLI_SENTRY_BIN_NAME_ALIAS,\n SOCKET_CLI_LEGACY_PACKAGE_NAME,\n SOCKET_CLI_NO_API_TOKEN,\n SOCKET_CLI_OPTIMIZE,\n SOCKET_CLI_PACKAGE_NAME,\n SOCKET_CLI_SAFE_WRAPPER,\n SOCKET_CLI_SENTRY_BIN_NAME,\n SOCKET_CLI_SENTRY_NPM_BIN_NAME,\n SOCKET_CLI_SENTRY_NPX_BIN_NAME,\n SOCKET_CLI_SENTRY_PACKAGE_NAME,\n VLT,\n WITH_SENTRY,\n YARN,\n YARN_BERRY,\n YARN_CLASSIC,\n YARN_LOCK,\n bashRcPath: undefined,\n distCliPath: undefined,\n distInstrumentWithSentryPath: undefined,\n distPath: undefined,\n distShadowNpmBinPath: undefined,\n distShadowNpmInjectPath: undefined,\n homePath: undefined,\n nmBinPath: undefined,\n nodeHardenFlags: undefined,\n rootBinPath: undefined,\n rootDistPath: undefined,\n rootPath: undefined,\n shadowBinPath: undefined,\n zshRcPath: undefined\n },\n {\n getters: {\n BATCH_PURL_ENDPOINT: LAZY_BATCH_PURL_ENDPOINT,\n DIST_TYPE: LAZY_DIST_TYPE,\n ENV: LAZY_ENV,\n bashRcPath: lazyBashRcPath,\n distCliPath: lazyDistCliPath,\n distInstrumentWithSentryPath: lazyDistInstrumentWithSentryPath,\n distPath: lazyDistPath,\n distShadowNpmBinPath: lazyDistShadowNpmBinPath,\n distShadowNpmInjectPath: lazyDistShadowNpmInjectPath,\n homePath: lazyHomePath,\n nmBinPath: lazyNmBinPath,\n nodeHardenFlags: lazyNodeHardenFlags,\n rootBinPath: lazyRootBinPath,\n rootDistPath: lazyRootDistPath,\n rootPath: lazyRootPath,\n shadowBinPath: lazyShadowBinPath,\n zshRcPath: lazyZshRcPath\n },\n internals: {\n getSentry() {\n return _Sentry\n },\n setSentry(Sentry: Sentry): boolean {\n if (_Sentry === undefined) {\n _Sentry = Sentry\n return true\n }\n return false\n }\n },\n mixin: registryConstants\n }\n) as Constants\n\nexport default constants\n"],"names":["createConstantsObject","query","env","path","constants","BATCH_PURL_ENDPOINT","DIST_TYPE","ENV","bashRcPath","distCliPath","distInstrumentWithSentryPath","distPath","distShadowNpmBinPath","distShadowNpmInjectPath","homePath","nmBinPath","nodeHardenFlags","rootBinPath","rootDistPath","rootPath","shadowBinPath","zshRcPath","getters","internals","getSentry","_Sentry","mixin"],"mappings":";;;;;;;;;AAUA;;;;;;AAME;AACEA;AACF;AACF;AA8GA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACE;AACAC;AACAA;AACA;AACF;AAEA;AAGA;;AACUC;AAAI;AACZ;AACA;;AAEE;;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;;AAEA;AACA;AACF;AACF;AAEA;AACE;AACAC;AAEF;AACE;AACAA;AAEF;AACE;AACAA;AAEF;AACE;AACAA;AAEF;AACE;AACAA;AAEF;AACE;AACAA;AAEF;AAEA;AACE;AACAA;;AAEF;AACA;AACA;AACE;AACA;AACgDC;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AAEN;AACE;AACAD;AAEF;AACE;AACAA;AAEF;AACE;AACAA;AAKF;AACE;AACAA;AAEF;AACE;AACAA;AAEIC;;;;;;;AAQF;AACAC;;;;;;AAMAC;;;AAGAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACF;AAEEC;AACEjB;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;;AAEFE;AACEC;AACE;;;;AAIEC;AACA;AACF;AACA;AACF;;AAEFC;AACF;;","debugId":"16968434-d3ec-4acd-901f-58f39010dc80"}
|